我有以下内容struct
在我的 C++ 代码中(我使用的是 Visual Studio 2010):
struct mydata
{
string scientist;
double value;
};
我想做的是能够以快速的方式初始化它们,类似于 C99 中的数组初始化或 C# 中的类初始化,一些á la:
mydata data[] = { { scientist = "Archimedes", value = 2.12 },
{ scientist = "Vitruvius", value = 4.49 } } ;
如果这在 C++ 中对于结构数组来说是不可能的,那么我可以对对象数组执行此操作吗?换句话说,数组的基础数据类型并不那么重要,重要的是我有一个数组,而不是一个列表,并且我可以通过这种方式编写初始值设定项。
C++ 中的语法几乎完全相同(只是省略命名参数):
mydata data[] = { { "Archimedes", 2.12 },
{ "Vitruvius", 4.49 } } ;
在 C++03 中,只要数组类型是总计的 https://stackoverflow.com/questions/4178175/what-are-aggregates-and-pods-and-how-why-are-they-special。在 C++11 中,这适用于任何具有适当构造函数的对象。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)