2015-04-05 73 views
0

将这些定义用于基本类型是否是一种很好的做法?基本类型的统一初始化?

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

它们很容易被误认为函数定义。

int nam1(); 
char ch1(); 
+0

如果您为使用的编程语言添加了标签,这将有所帮助。 – Dijkgraaf 2015-04-05 01:34:08

+0

并告诉我们'记住函数定义'的含义。 – EJP 2015-04-05 09:01:24

+0

@Dijkgraaf,EJP感谢您的澄清。我理解_class constructors_中统一初始化的用法,但是,它是否有助于构造函数之外的代码可读性。 – Ziezi 2015-04-05 09:31:34

回答

1

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

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

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