C+中变量的声明+; 最近我在C++中看到了一个相当古老的代码,其中使用了代码> int var(12)< /C> >代替了代码> int var=12 < /Cord>。它为什么有效?我是否应该避免写这种声明? < P>初始化变量的三种方法在C++中是有效的。
类型标识符=初始值强> 例如,要声明一个名为x的int类型变量,并在声明该变量的同一时刻将其初始化为零值,我们可以编写:C+中变量的声明+; 最近我在C++中看到了一个相当古老的代码,其中使用了代码> int var(12)< /C> >代替了代码> int var=12 < /Cord>。它为什么有效?我是否应该避免写这种声明? < P>初始化变量的三种方法在C++中是有效的。,c++,variables,coding-style,declaration,C++,Variables,Coding Style,Declaration,类型标识符=初始值 例如,要声明一个名为x的int类型变量,并在声明该变量的同一时刻将其初始化为零值,我们可以编写: int a=5; // initial value: 5 类型标识符(初始值) 第二种方法,称为构造函数初始化(由C++语言引入),包围括号(()):< /P>的初始值 类型标识符{初始值} 最后,一种第三种方法,称为均匀初始化,类似于上面的方法,但使用卷曲括号({})代替括号(这是由C++标准的修订引入的,2011):< /P> 您应该检查变量的初
int a=5; // initial value: 5
类型标识符(初始值)强>
第二种方法,称为构造函数初始化(由C++语言引入),包围括号(()):< /P>的初始值 类型标识符{初始值}强>
最后,一种第三种方法,称为均匀初始化,类似于上面的方法,但使用卷曲括号({})代替括号(这是由C++标准的修订引入的,2011):< /P>
您应该检查变量的初始化部分。它们不是等价的。
()
将执行某些缩小转换。int a{1.0}
是一个错误<代码>INTA(1.0)是合法的。它们不一样。
int b(3); // initial value: 3
int c{2}; // initial value: 2