我刚遇到这行代码:
SDL_Color textColor = { 255, 0, 255 };
Run Code Online (Sandbox Code Playgroud)
它让我想知道为什么它可以被声明为数组.我认为它可能只是textColor(255,0,255);
一样,但当我尝试自己上课时,它并没有像那样工作.任何人都可以解释何时使用这种语法?参数在哪里??
jua*_*nza 10
它是类型的聚合初始化,很可能是简单的结构或类.例如,
struct Foo
{
int i,j;
double x,y;
};
int main()
{
Foo f = {1,2, 3.,4.};
}
Run Code Online (Sandbox Code Playgroud)
注意,由于存在一些混淆structs
,上面的例子也适用于a class
,在这种情况下它与struct
:
class Foo
{
public:
int i,j;
double x,y;
};
Run Code Online (Sandbox Code Playgroud)
在C++ 11中,这种类型的初始化在某些条件下扩展到非聚合类型.
例如
std::vector<int> v = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)