【问题标题】:Uniform initialization for fundamental types?基本类型的统一初始化?
【发布时间】:2015-04-05 00:45:43
【问题描述】:

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

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

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

int nam1();
char ch1();

【问题讨论】:

  • 如果你添加一个标签来说明你正在使用哪种编程语言会有所帮助。
  • 告诉我们“记住函数定义”是什么意思。
  • @Dijkgraaf,EJP 感谢您的澄清。我了解在 类构造函数 中使用统一初始化,但是,它是否有助于构造函数外部的代码可读性。

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


【解决方案1】:

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

关于 C++11 中 Type var (param);Type var {param}; 之间的区别存在一些争议,后者是通过所谓的 Uniform Initialization 规定的。我试图只使用统一初始化并从中得到一些奇怪的边缘情况。我不确定这是否完全符合预期,并且一直在退缩并通常寻求代码清晰度。

所以我会说char ch1(' ');,因为丑,不如说char ch = ' ';,它确实是一个权衡的系统。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 2020-03-18
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 2021-01-05
    • 2010-11-10
    相关资源
    最近更新 更多