だから、私はオブジェクトへのポインタのベクトルを格納するクラスを持っています。ベクトルにオブジェクトを追加するメソッドがあります。追加するとき、私は参照またはポインターで渡すことができることを知っており、それぞれの長所と短所について読んだことがありますが、この場合、どちらが優れているのか、そしてその理由を理解できません。私が理解できるすべてのことについて、それらはほとんど同じです(しかし、私はおそらく間違っています!)
ポインタ/アドレスを渡す(の言い換え)は次のとおりです。
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);
}
どちらを使うべきですか?