C++ 在同一行中声明多个变量

C++ declaring multiple variables in the same line

我知道像这样声明变量 int a = 10, b = 15, c = 20 是可能的而且没关系,但是在任何 C++ 编程语言的程序中,是否可以像这样声明变量 int a, b, c = 10, 15, 20 where a需要10b需要15c需要20

在 C++ 中这样声明变量是否可行?

编辑:重载运算符=是否可行?

int a, b, c = 10, 15, 20;

无效,(即使有效,它也可能会将 c 初始化为 20(使用逗号运算符)并让 ab 未初始化。

使用 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

编译器将针对此类声明发出错误

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 };

EDIT: Is it possible with the overloading operator =?

没有使用复制赋值运算符。这是一个声明。复制赋值运算符用于已经定义的对象。:)