你通常在c ++上使用int值,'255'和十六进制值,'0xff'?

时间:2017-07-18 07:01:48

标签: c++ coding-style

是否存在性能问题或其他原因?

1 个答案:

答案 0 :(得分:6)

使用one over a other绝对没有性能优势,但请注意,使用十六进制文字意味着隐含的类型可以包含unsigned整数类型,(参见十进制文字,它可以产生令人惊讶的效果:

void foo(const unsigned&)
{
    // pay me a bonus
}

void foo(const long&)
{
    // reformat my hard disk
}

int main()
{
    foo(0xffffffff); // thankfully unsigned on a platform with 32 bit int.
}

请参阅http://en.cppreference.com/w/cpp/language/integer_literal,包括该页底部的C链接。