有什么区别 - const int x = 5000;和const int x = 50' 00;在C ++中?

时间:2018-06-18 07:26:47

标签: c++ const variable-assignment

以下c ++代码有什么区别 -

const int x = 5000;
const int x = 50'00;

2 个答案:

答案 0 :(得分:10)

50'00使用在C ++ 14中添加的digit separator。该数字将解析为5000,唯一的区别是它可能更容易阅读。通常你会使用数字分隔符来分隔数千,例如1'000'000,但你可以在数字的任何一点使用它。

答案 1 :(得分:8)

从C ++ 14开始,您可以将数字分隔符 ' 放在整数文字中的任何位置(除了开头或结尾或只是在基本指标不包括八进制前导零之后 - 否则你会与 muticharacter文字冲突。)

目的是使代码更具可读性:例如

const int x = 5'000;

或使用印度符号(解释任何地方理由)

const auto x = 12'34'567;

或,以十六进制

const auto x = 0xee'ef;

请注意1e3之类的类型double,这会让你很难受,尤其是在for循环中用作计数器时

参考:https://en.cppreference.com/w/cpp/language/integer_literal