基本类型的统一初始化?
Uniform initialization for fundamental types?
对基本类型使用这些定义是一种好的做法吗?
int num1(), num2(0);
char ch1(), ch2(' ');
它们很容易被误认为是函数定义。
int nam1();
char ch1();
因为 C++ 允许您在程序中的任何位置放置变量声明...我认为没有理由使用未初始化的变量。
关于 C++11 中 Type var (param);
和 Type var {param};
之间的差异存在一些争议,后者是通过所谓的 Uniform Initialization 规定的。我试图只使用统一初始化并从中得到一些奇怪的边缘情况。我不确定它是否像宣传的那样,并且一直在退缩并通常寻求代码清晰度。
所以我会说 char ch1(' ');
,由于丑陋,更好的说法是 char ch = ' ';
这确实是一个权衡的系统。
对基本类型使用这些定义是一种好的做法吗?
int num1(), num2(0);
char ch1(), ch2(' ');
它们很容易被误认为是函数定义。
int nam1();
char ch1();
因为 C++ 允许您在程序中的任何位置放置变量声明...我认为没有理由使用未初始化的变量。
关于 C++11 中 Type var (param);
和 Type var {param};
之间的差异存在一些争议,后者是通过所谓的 Uniform Initialization 规定的。我试图只使用统一初始化并从中得到一些奇怪的边缘情况。我不确定它是否像宣传的那样,并且一直在退缩并通常寻求代码清晰度。
所以我会说 char ch1(' ');
,由于丑陋,更好的说法是 char ch = ' ';
这确实是一个权衡的系统。