Gam*_*007 1 c++ list shared-ptr
假设我有几个 MyObject 类型的对象,并且我希望有相应的shared_ptr 指向它们中的每一个。然后,我想获取所有这些指针并将它们放入一个列表中 - 我该怎么做?
(我说的是这样的事情:
list<shared_ptr<MyObject>> MyList;
Run Code Online (Sandbox Code Playgroud)
但这显然行不通)
另外 - 列表是一个可增长的容器吗?或者我在创建它时必须声明它的大小吗?
谢谢!
它只是有效
#include <iostream>
#include <list>
#include <memory>
struct MyClass{
int a;
};
int main() {
std::list<std::shared_ptr<MyClass>> myList;
myList.push_back(std::make_shared<MyClass>());
myList.push_back(std::make_shared<MyClass>(3));
}
Run Code Online (Sandbox Code Playgroud)
哦,如果你没有充分的理由(措施),请使用 std::vector。