问题标签 [aggregate-initialization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
186 浏览

c++ - How does this particular struct function like this? (arcsynthesis modern 3D graphics programming)

I am using arcsynthesis' tutorial to learn modern 3D graphics programming, and while I am understanding most of it I have run into a snag with what the author calls "complex management code" I can't understand how this code works:

I don't quite get how the function pointer is getting set inside the struct in the g_instanceList[] I don't get syntactically how this works and then how this g_instanceList is used in the next segment here:

I thought I was pretty familiar with c++ by this point but this syntactic sugar is new to me. Thanks in advance :)

0 投票
1 回答
118 浏览

c++ - 聚合内标量的大括号初始化

知道这是有效的 c++11

这个有效吗?

GCC 给出一个错误,发出警告。

0 投票
1 回答
141 浏览

c++ - 在聚合初始化列表的给定位置,传递到先前位置的值是否可以安全地从相应成员中读取?

按照标准,上面例子中读“sa”是否安全,这样s被初始化为a=5,b=6?如果是这样,大多数编译器是否遵守这条规则?

(以上在VC10中编译。)

0 投票
0 回答
84 浏览

c++ - 如何始终正确初始化?

使用 C++11 引入了统一初始化,我的印象{}是现在对于所有情况(如果允许)都是非常安全的初始化。但我刚刚注意到,我弄错了。

什么所有类型的安全初始化形式?带有已删除/私人默认 c'tor 或课程的霸菱课程。

某些类型的详细信息

这是一个内置的

但是像这样的聚合tm

但使用C 数组

使用编译器生成的 default-c'tor 聚合之外的又如何呢?

我忘记了一个重要的种类吗?

适合所有人的模板?

作为一个扩展的问题,我想知道是否有一种适当的/好的/任何方式来编写一个模板函数,该函数为可以以这种方式初始化的所有类型返回一个正确初始化的对象:

0 投票
2 回答
733 浏览

c++ - 原子结构的统一初始化?

编辑:两者都在 g++ 中工作,在铿锵声中都不工作{{1, 2}}({1, 2})铿锵有没有解决方法?

0 投票
1 回答
355 浏览

c++ - 如何使用新运算符在表达式中聚合初始化 STL 容器?

我正在尝试做类似的事情:

是否可以在这样的表达式中聚合初始化 STL 容器?

PS:可能很重要-我有VS2010。

0 投票
1 回答
8138 浏览

c++ - 具有非静态成员初始化器的类的 C++11 聚合初始化

标准中是否允许:

这个类仍然是聚合的吗? clang接受此代码,但gcc不接受。

0 投票
2 回答
2278 浏览

c++ - std::array 的嵌套聚合初始化

我想知道,为什么std_arr在下面的代码中声明会产生错误,而c_arr编译得很好:

两者std::array都是S聚合。从cppreference.com 上的聚合初始化

如果初始化子句是嵌套的花括号初始化列表(它不是表达式并且没有类型),则相应的类成员本身就是一个聚合:聚合初始化是递归的。

为什么这个初始化std::array不编译?

0 投票
1 回答
278 浏览

c++ - 如何使用列表初始化对聚合类型进行值初始化

如何使用列表初始化语法对 C++14 中的聚合类型进行值初始化?

这被视为聚合初始化,它会为未初始化的Aggregate_t.

这可能吗?

编辑:例子

使用 g++-4.9.2 编译:

0 投票
2 回答
353 浏览

c++ - Does it violate the standard for a non-default-constuctible struct to lack a user-defined constructor?

It is possible to define a struct (a) that has no user-defined constructors, and (b) for which a default constructor cannot be generated. For example, Foo in the below:

You can still create instances of Foo using aggregate initialization:

My normal compiler (VS2012) will grudgingly accept this, but it raises 2 warnings:

warning C4510: 'Foo': default constructor could not be generated.

warning C4610: struct 'Foo' can never be instantiated - user defined constructor required

Of course, I've just proved warning #2 wrong--you can still instantiate it using aggregate initialization. The online compilers I've tried are happy enough to accept the above, so I'm guessing VS2012 is just being overly-aggressive with this warning. But I'd like to be sure--is this code ok, or does it technically violate some obscure part of the standard?