【发布时间】:2023-12-27 07:02:01
【问题描述】:
最近我在 C++ 中看到了一段相当古老的代码,其中使用了 int var(12) 而不是 int var=12。为什么它有效?我应该避免写这种风格的声明吗?
【问题讨论】:
标签: c++ variables coding-style declaration
最近我在 C++ 中看到了一段相当古老的代码,其中使用了 int var(12) 而不是 int var=12。为什么它有效?我应该避免写这种风格的声明吗?
【问题讨论】:
标签: c++ variables coding-style declaration
在C++中有三种初始化变量的方法。
类型标识符 = 初始值;
例如,要声明一个名为 x 的 int 类型变量,并在声明它的同时将其初始化为零,我们可以这样写:
int a=5; // initial value: 5
类型标识符(initial_value);
第二种方法,称为构造函数初始化(由 C++ 语言引入),将初始值括在括号 (()) 之间:
int b(3); // initial value: 3
类型标识符 {initial_value};
最后,第三种方法,称为统一初始化,与上面类似,但使用花括号 ({}) 代替括号(这是在 2011 年 C++ 标准的修订中引入的):
int c{2}; // initial value: 2
你应该检查Documentation部分初始化变量
【讨论】:
() 将执行某些缩小转换。
int a{1.0} 是一个错误。 int a(1.0) 是合法的。它们不一样。