Ufx*_*Ufx 5 c++ inheritance shared-ptr c++11
还有vector的shared_ptr基类。
struct Base
{
virtual ~Base() = 0 {}
};
struct Derived1 : Base
{
};
struct Derived2 : Base
{
};
std::vector<std::shared_ptr<Base>> v;
v.push_back(std::make_shared<Base>(Derived1()));
v.push_back(std::make_shared<Base>(Derived2()));
Run Code Online (Sandbox Code Playgroud)
如何制作副本vector?
副本的指针必须指向新对象。
只需复制它即可。
auto v2 = v;
Run Code Online (Sandbox Code Playgroud)
容器保存共享指针,因此它们在复制后会很好,并且仍然指向相同的对象,同时保持它们的活动状态。这里没有问题。
| 归档时间: |
|
| 查看次数: |
3871 次 |
| 最近记录: |