gpt4 book ai didi

c++ - C++ 语法的两个好奇心

转载 作者:IT老高 更新时间:2023-10-28 21:39:49 24 4
gpt4 key购买 nike

§5.2[expr.post]/1 我们有 expression-list

的定义

expression-list:
     initializer-list

为什么我们需要这两个定义?

§8.5[dcl.init]/1 我们有:

braced-init-list:
     { initializer-list, opt }
     { }

为什么我们需要上面可选的,

请注意,此代码段可以编译:

struct A{
int i;
float f;
A(int i, float f) : i(i), f(f) {}
};

int main()
{
A a = { 1, 2., };
}

最佳答案

可选的尾随逗号使编写无需修改现有行即可扩展的代码变得容易(非常适合源代码管理)。

例如,制作一个数组:

int x[] = {
1,
2,
3,
};

如果你想添加它,你只需将 4, 添加到一个新行上,并且完全避免使用 3, 修改该行。这不是必需的,但允许这样做很好。

关于c++ - C++ 语法的两个好奇心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33200539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com