如何在 C++ 中创建 shared_ptr 的列表?
How to make a list of shared_ptr in C++?
假设我有几个类型为 MyObject 的对象,并且我希望有相应的 shared_ptr 指向它们中的每一个。
然后,我想获取所有这些指针并将它们放入列表中 - 我该怎么做?
(我说的是:
list<shared_ptr<MyObject>> MyList;
但这显然行不通)
此外 - 列表是可增长的容器吗?还是我必须在创建它时声明它的大小?
谢谢!
效果很好
#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));
}
哦,如果你没有充分的理由(措施),请使用 std::vector。
假设我有几个类型为 MyObject 的对象,并且我希望有相应的 shared_ptr 指向它们中的每一个。 然后,我想获取所有这些指针并将它们放入列表中 - 我该怎么做?
(我说的是:
list<shared_ptr<MyObject>> MyList;
但这显然行不通)
此外 - 列表是可增长的容器吗?还是我必须在创建它时声明它的大小?
谢谢!
效果很好
#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));
}
哦,如果你没有充分的理由(措施),请使用 std::vector。