所以,我有一个类,它存储一个指向对象的指针向量。我有一个将对象添加到向量的方法。添加时,我知道我可以通过引用或指针传递,并且已经阅读了每种方法的优缺点,但在这种情况下,我无法弄清楚哪个更好以及为什么。据我所知,它们几乎相同(但我可能错了!)
这是通过指针/地址传递的(释义):
hpp:
class Room {
vector<Item*> items;
public:
void addItem(Item*);
};
cpp:
void Room :: addItem(Item* item) {
items.push_back(item);
}
...并通过引用传递:
hpp:
class Room {
vector<Item*> items;
public:
void addItem(Item &);
};
cpp:
void Room :: addItem(Item &item) {
items.push_back(&item);
}
我应该使用哪个?