标题:返回指针
只看楼主
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
结帖率:94.87%
 问题点数:0 回复次数:4 
返回指针
程序代码:
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);
}



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

我知道可以返回指针,但不能返回局部对象的指针。
搜索更多相关主题的帖子: vector title 
2013-05-08 19:09
笑傲
Rank: 8Rank: 8
来 自:迪拜
等 级:蝙蝠侠
威 望:5
帖 子:223
专家分:856
注 册:2013-3-9
得分:0 
貌似是临时对象在函数结束时会被消除了,所以返回指针是没有用的,所以直接返回解引

练就一身本领,只为笑傲江湖!
2013-05-08 20:01
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
因为下标运算要返回对象啊

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2013-05-09 06:56
未未来
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:182
专家分:157
注 册:2012-11-6
得分:0 
回复 3楼 peach5460
一语中的么。
2013-05-09 12:51
fanpengpeng
Rank: 8Rank: 8
来 自:南极洲
等 级:蝙蝠侠
威 望:7
帖 子:299
专家分:849
注 册:2013-2-1
得分:0 
为什么要返回指针的解引,
而不是返回指针,

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

人生是一场错过 愿你别蹉跎
2013-05-10 14:00



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-406536-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.427662 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved