假设我有一个结构
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);
是否有一种更通用的方法可以做到这一点,这样我就不需要创建对象了?
很抱歉一开始使用数组作为示例!
最佳答案
在 C++11 中你可以这样做
anArray[0] = {123, 456};
或者更详细一点:
anArray[0] = someStruct{123, 456};
并且在任何版本的 C++ 中,您都可以执行聚合数组初始化:
someStruct anArray[10] = {{1, 2}, {3, 4}, /*...*/};
关于c++ - 在 std::list 中就地创建自定义类型对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178239/