所以,我有一个类存储指向对象的指针.我有一个方法,可以向对象添加对象.添加时,我知道我可以通过引用或指针传递,并阅读了每个的优点和缺点,但在这种情况下,我无法弄清楚哪一个更好,为什么.对于我可以弄清楚的一切,他们几乎是一样的(但我可能错了!)
这是(一个释义)传递指针/地址:
hpp:
class Room {
vector<Item*> items;
public:
void addItem(Item*);
};
cpp:
void Room :: addItem(Item* item) {
items.push_back(item);
}
Run Code Online (Sandbox Code Playgroud)
......并通过引用传递:
hpp:
class Room {
vector<Item*> items;
public:
void addItem(Item &);
};
cpp:
void Room :: addItem(Item &item) {
items.push_back(&item);
}
Run Code Online (Sandbox Code Playgroud)
我应该使用哪个?
这丝毫无关紧要,所以在呼叫站点看起来更自然,或者与代码的其余部分更加一致.
好的,我可以看到各自支持的观点,但我不能告诉你它们是否在你的情况下重要.
new
直接结果)的调用站点看起来很自然NULL
,这可能是也可能不正确和有用