数组和类聚合类型的统一初始化

用户名

n3526 proposes a slight relaxation of the rules for eliding braces from aggregate initialization in order to make initialization of arrays and class aggregates more uniform.

它将允许以下代码进行编译:

struct S {
    int x[2][2];
};

struct A {
    S s;
};

// Then the following declarations are all equivalent

A a1 = {{{{1, 2}, {3, 4}}}};
A a2 = {{{1, 2}, {3, 4}}};
A a3 = {{1, 2}, {3, 4}};
A a4 = {1, 2, 3, 4};

然后说:

考虑并拒绝对具有多于一个成员的聚合进行大括号删除,因为这似乎可能会导致难以解析已经格式正确的程序。

有谁知道在使这种语法成为可能方面是否有任何进展,如果没有,为什么会不允许它呢?

迪特玛·库尔(DietmarKühl)

Evolution工作组在布里斯托尔会议上审议了该文件,结论是当前的限制是有意为之。我不是本次讨论的一部分,因此对这些细节了解不多。似乎也有人指出,尽管没有给出示例,但即使是上述提案也可能会更改现有的有效代码。据我所知,该提案并未得到执行:

NAD认为,没有建议继续前进。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

std::array 派生类聚合初始化

来自分类Dev

基本类型的统一初始化语法?

来自分类Dev

基本类型的统一初始化语法?

来自分类Dev

如何使数组的派生类型接受聚合初始化?

来自分类Dev

通用和统一的初始化:从double到int

来自分类Dev

统一和价值初始化

来自分类Dev

C ++ 11统一初始化和函数重载

来自分类Dev

迭代器的统一初始化

来自分类Dev

统一初始化语法的使用

来自分类Dev

就地成员初始化和聚合初始化

来自分类Dev

Ada数组聚合初始化

来自分类Dev

聚合std :: pair数组的初始化

来自分类Dev

使用统一初始化初始化对象和指针对象不起作用

来自分类Dev

为什么某些类型不能使用统一的初始化语法?

来自分类Dev

具有统一初始化语法的自动类型推导c ++ 11 vs c ++ 17

来自分类Dev

具有统一初始化的自动扩展到意外类型

来自分类Dev

初始化时是统一初始化还是直接初始化?

来自分类Dev

C ++ 11在constexpr函数中使用统一值初始化数组

来自分类Dev

C ++ 11在constexpr函数中使用统一值初始化数组

来自分类Dev

使用聚合初始化和成员初始化程序初始化结构

来自分类Dev

显式拷贝构造函数和统一初始化

来自分类Dev

C ++ 11构造函数和运算符的统一初始化

来自分类Dev

类C,构造函数和统一初始化之间有什么区别?

来自分类Dev

模板类型定义的数组初始化

来自分类Dev

初始化基本类型数组

来自分类Dev

原子结构的统一初始化?

来自分类Dev

使用统一初始化不是很危险吗?

来自分类Dev

如何对指针使用统一初始化?

来自分类Dev

非聚集上的C ++ 14统一初始化