[英]Uniform initialization for arrays and class aggregate types
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.
刪除 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};
然后它說:
考慮並拒絕允許對具有多個成員的聚合體進行括號省略,因為它似乎很難解析已經格式良好的程序。
有誰知道在使這種語法成為可能方面是否有任何進展,如果沒有,那么不允許它的原因是什么?
論文由布里斯托爾會議的進化工作組審議,結論是目前的限制是有意的。 我不是這次討論的一部分,因此對細節知之甚少。 似乎還注意到,即使提出的提案也可能改變現有的有效代碼,盡管沒有給出任何例子。 據我所知,該提案未被追究:
沒有建議繼續前進,被認為是NAD。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.