0

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

HTTPServer* const server_{nullptr};

作为班级成员。我以前从未见过这样的东西,想知道是否有什么特殊含义。谷歌搜索只是让我在 boost code to 中找到了像这样的其他示例。

也许有人有解释。

4

1 回答 1

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{};

x用 0 的值初始化。

于 2020-06-09T12:57:36.940 回答