小编hel*_*per的帖子

对象的std :: vector应该使用指针,引用还是什么?

假设我们有一些类,比如说class Apple,想要存储一个std::vector包含的类Apple.

向量是否应包含指针,引用或普通对象?

std::vector<Apple*> vector; // Definitely won't copy the Apple on lookup, 
    // but I would prefer not to use pointers if I don't have to
std::vector<Apple&> vector; // Seems circuitous?
std::vector<Apple> vector; // I don't know if this copies the Apple on each lookup
Run Code Online (Sandbox Code Playgroud)

我的目标是在打电话时这样做

Apple& a = vector[4];
Run Code Online (Sandbox Code Playgroud)

该Apple不会被复制.

我已经使用C++超过一年了,我一直在努力解决这个问题.是否有一个简单的解释为什么这三种方法中的一种是最佳实践?

c++ stl

22
推荐指数
2
解决办法
1020
查看次数

标签 统计

c++ ×1

stl ×1