基本类型的统一初始化?

时间:2015-04-05 00:45:44

标签: c++ uniform-initialization built-in-types

将这些定义用于基本类型是一种好习惯吗?

int num1(), num2(0);
char ch1(), ch2(' ');

他们很容易被误认为功能定义。

int nam1();
char ch1();

1 个答案:

答案 0 :(得分:1)

因为C ++允许你在程序中的任何一点放置变量声明......我认为没有初始化变量的借口。

关于Type var (param);Type var {param};之间C ++ 11的差异存在一些争议,后者通过所谓的Uniform Initialization来规定。我试图只使用统一初始化并从中获得一些奇怪的边缘情况。我不确定它是否已被破解,并且已经退缩并且通常会寻求代码清晰度。

所以我会说char ch1(' ');,由于丑陋,更好地说是char ch = ' ';它确实是一个权衡系统。