我知道声明像int a = 10, b = 15, c = 20
这样的变量是可能的并且没关系,但是在c ++编程语言的任何程序中都可以声明int a, b, c = 10, 15, 20
这样的变量a
要成为10
,b
必须为15
,c
为20
。
这是可能的,并且是在c ++中声明这样的变量的正确方法吗?
编辑:是否可以使用重载运算符=
?
答案 0 :(得分:7)
编译器将为此类声明发出错误
int a, b, c = 10, 15, 20;
我想到的唯一想法是:)
int a, b, c = ( a = 10, b = 15, 20 );
或者您可以将这些名称作为结构的数据成员
struct { int a, b, c; } s = { 10, 20, 30 };
编辑:是否可以使用重载运算符=?
没有使用复制分配操作符。这是一个宣言。复制赋值运算符与已定义的对象一起使用。:)
答案 1 :(得分:1)
int a, b, c = 10, 15, 20;
无效,(即使它可能会将c
初始化为20
(使用逗号运算符)并让a
和b
取消初始化。
使用c-array / std :: array / std :: vector可能是一个选项:
int carray[3] = {10, 15, 20};
std::array<int, 3> a = {10, 15, 20};
std::vector<int> v = {10, 15, 20};
现在我们有carray[0] == a[0] && a[0] == v[0] && v[0] == 10