Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 定义中的结构成员初始化术语是什么?_C++ - Fatal编程技术网

C++ 定义中的结构成员初始化术语是什么?

C++ 定义中的结构成员初始化术语是什么?,c++,C++,考虑下面的示例程序 #include <stdio.h> struct FooBar { bool test{true}; // What is this syntax called? }; int main() { FooBar bar; printf("%d\n", bar.test); } 注释行上初始化的语法名称是什么?对于非静态数据成员,它被称为大括号或相等的初始值设定项。现在,它被称为默认成员初始值设定项 它被称为非静态数据成员的大括号或相等

考虑下面的示例程序

#include <stdio.h>

struct FooBar {
    bool test{true}; // What is this syntax called?
};

int main() {
    FooBar bar;
    printf("%d\n", bar.test);
}

注释行上初始化的语法名称是什么?

对于非静态数据成员,它被称为大括号或相等的初始值设定项。现在,它被称为默认成员初始值设定项

它被称为非静态数据成员的大括号或相等初始值设定项。现在,它被称为默认成员初始值设定项

现在还不清楚你的问题具体是关于什么:语法还是功能

如果我正确理解了您问题的范围,标准会仔细地将此功能称为大括号或非静态数据成员的等效初始值设定项。是的,整件事


因此,语法是大括号或相等初始值设定项。在您的示例中,它恰好与非静态数据成员一起使用。

现在还不清楚您的问题具体是关于什么:语法还是功能

如果我正确理解了您问题的范围,标准会仔细地将此功能称为大括号或非静态数据成员的等效初始值设定项。是的,整件事


因此,语法是大括号或相等初始值设定项。在您的示例中,它正好与非静态数据成员一起使用。

从语法上讲,初始值设定项是大括号或相等的初始值设定项,但这很麻烦,而且这种构造现在也有一个合适的技术术语:默认成员初始值设定项cf.[class.mem]/8。这个术语是在C++14之后引入的,目前已在工作草案中。

从语法上讲,初始值设定项是一个大括号或相等的初始值设定项,但是说起来很麻烦,而且这个构造现在也有一个合适的技术术语:默认成员初始值设定项cf.[class.mem]/8。该术语是在C++14之后引入的,目前已在工作草案中。

…对于搜索,类内成员初始值设定项/初始化可能会很好地为您服务。虽然这不是一个神圣的标准术语……对于搜索,类内成员初始化器/初始化可能会很好地为您服务。但这不是一个神圣的标准术语。我一直在寻找这个术语,这样我就可以在谷歌上搜索这种初始化的语义。仅仅在结构定义中搜索成员初始化是不够的。我正在寻找这个术语,以便在谷歌上搜索这种初始化的语义。仅仅在结构定义中搜索成员初始化是不够的。从语法上讲,大括号或等号初始值设定项可以应用于NSDM以外的事物。所以从技术上讲,它以前没有名字。从语法上讲,大括号或等号初始值设定项可以应用于NSDM以外的事物。所以从技术上讲,它以前没有名字。