【发布时间】:2015-03-21 01:28:56
【问题描述】:
假设我有一个结构
struct someStruct
{
int a;
customType b;
};
和std::list 的someStruct 实例
std::list<someStruct> aList;
将项目存储到该列表的一种方法是创建一个
someStruct,将我想要的值存储到该实例然后存储
列表中的实例是这样的
someStruct obj;
obj.a = 4;
obj.b = customType::value_type;
aList.push_back(obj);
有没有更通用的方法来做到这一点,这样我就不需要创建对象了?
对不起,首先以数组为例!
【问题讨论】:
-
anArray[0].a = 4;一个数组[0].b = 6; // 等等
-
哦,是的,当然!我正在考虑使用 C++ 默认情况下不知道如何构造的自定义数据类型的结构,但我刚刚意识到,只要我提供构造函数,C++ 就会知道如何处理它。我应该删除问题吗?
-
值得注意的是,当您在 C++ 中创建数组时,将为每个元素调用默认构造函数。所以你不能创建一个没有默认构造函数的类型的数组。
-
@zenith 是的,你可以。
-
@zenith ideone.com/gMn2Ld