提问者:小点点

变量名中的花括号[重复]


最近我在浏览facebooks folly library的一些代码,看到一个名为like的变量

HTTPServer* const server_{nullptr};

作为一个班的成员。 我从来没见过这样的东西,不知道有没有什么特别的含义。 谷歌只是让我找到了其他例子像这一个在boost代码到。

也许有人有解释。


共1个答案

匿名用户

它用作初始值设定项列表。 在您的示例中,httpserver指针将被设置为nullptr,但是您可以使用花括号,即使是简单类型,例如intfloat等。

它的作用是用内部的值初始化变量,这意味着下面的两种态度都是相同的:

int x = 10; 
int x{10};

您还可以用简单得多的方式初始化数组:

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

而不是使用:

x[0] = 1;
x[1] = 2;
x[2] = 3;
x[3] = 4;
x[4] = 5;

如果您愿意,还可以使用

int x{};

若要用值0初始化x,请执行以下操作。