c++ - 我应该在类中使用指向集合的指针吗?
问题描述
假设我有 A 类,我希望它有一个双端队列和一个向量。对这些集合使用指针有哪些优点和缺点?
class A
{
unique_ptr<deque<t>> a;
deque<t>* b;
deque<t> c;
unique_ptr<vector<t>> x;
vector<t>* y;
vector<t> z;
}
我不确定我是否理解何时使用哪个,因为我很少看到用于类中集合的指针。
解决方案
如果您std::unique_ptr
需要std::shared_ptr
实际的动态资源(如果需要成为共享动态资源,则使用共享)。
如果您需要引用不属于您的对象(即您不会销毁/释放它),请使用原始指针或引用。如果您需要将指针“重新指向”到不同的对象,请使用指针而不是引用。
否则使用按值(即非动态)成员/变量。
推荐阅读
- angular - 服务方法调用不同步
- python-3.x - 从保存的张量流模型中更改张量值
- laravel - Laravel 302 redirect issue
- android - 给某个 EditText 焦点
- python - 您如何计算列表中相同实体的数量?
- javascript - 无论如何要知道 div 的 css 是在 class 中设置还是在 javascript/jquery 的 id 中设置?
- django - 在 Django 中部署机器学习模型
- python - 当 main 循环时,我的程序仅将一个用户输入附加到列表中
- android - 我如何知道 FirebaseInstanceId 何时刷新?
- bazel - Bazel 没有考虑 std=c++14