变量名称中的大括号



>最近我一直在浏览Facebook愚蠢库的一些代码,看到一个名为

HTTPServer* const server_{nullptr};

作为类成员。 我以前从未见过这样的东西,想知道是否有任何特殊的含义。谷歌搜索只是让我在提升代码中找到了其他类似的例子。

也许有人有解释。

它用作初始值设定项列表。在您的情况下,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

最新更新