【发布时间】:2010-04-02 05:01:14
【问题描述】:
我对对象引用有点困惑。请检查以下示例:
class ListHandler {
public:
ListHandler(vector<int> &list);
private:
vector<int> list;
}
ListHandler::ListHandler(vector<int> &list) {
this->list = list;
}
因为内部
vector<int> list;
定义,在这里我会浪费内存对吗?所以正确的应该是:
class ListHandler {
public:
ListHandler(vector<int>* list);
private:
vector<int>* list;
}
ListHandler::ListHandler(vector<int>* list) {
this->list = list;
}
ListHandler::~ListHandler() {
delete list;
}
基本上我想要的只是创建一个向量并传递给 ListHandler。这个向量不会在 ListHandler 本身以外的任何地方使用,所以我希望 ListHandler 能够完成所有其他事情和清理等工作。
【问题讨论】:
-
这是干什么用的?更多的上下文会给你更好的答案。