注册 登录
编程论坛 C++教室

返回指针

未未来 发布于 2013-05-08 19:09, 539 次点击
程序代码:
class CheckoutRecord{
public:
//....
private:
double bood_id;
string title;
Date date_borrowed;
Date date_due;
pair<string,string>borrower;
vector< pair<string,string>* > wait_list;


};

有这样一个简单类

,在为它定义下标操作符,
程序代码:
pair<string,string>borrower& CheckoutRecord::operator[](const size_t index){
    return *wait_list.at(index);
}
const pair<string,string>borrower& CheckoutRecord::operator[](const size_t index)const{
    return *wait_lis.at(index);
}



为什么要返回指针的解引,
而不是返回指针,

我知道可以返回指针,但不能返回局部对象的指针。
4 回复
#2
笑傲2013-05-08 20:01
貌似是临时对象在函数结束时会被消除了,所以返回指针是没有用的,所以直接返回解引
#3
peach54602013-05-09 06:56
因为下标运算要返回对象啊
#4
未未来2013-05-09 12:51
回复 3楼 peach5460
一语中的么。
#5
fanpengpeng2013-05-10 14:00
为什么要返回指针的解引,
而不是返回指针,

你这话问的
你应该问 “为什么返回引用 而不是 返回指针”
指针的解引 返回值是对象的引用 当然要返回其迭代器的解引用啦
1