C+中变量的声明+; 最近我在C++中看到了一个相当古老的代码,其中使用了代码> int var(12)< /C> >代替了代码> int var=12 < /Cord>。它为什么有效?我是否应该避免写这种声明? < P>初始化变量的三种方法在C++中是有效的。

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> 您应该检查变量的初

类型标识符=初始值

例如,要声明一个名为x的int类型变量,并在声明该变量的同一时刻将其初始化为零值,我们可以编写:

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