C++ primer 10.6节 有关const引用的问题

来源:百度知道 编辑:UC知道 时间:2024/05/12 18:52:09
C++ primer 10.6节TextQuery类中的RunQuery成员函数返回值为set<TextQuery::line_no>
如果改为 const set<TextQuery::line_no>&
为什么调试时总会出现错误。
希望各位大侠出手相助,多多指教~非常感谢~

我手头没那本书,如果函数中的返回值是临时变量的话,函数返回后那个临时变量已经析构了,这样 const & 就引用在一个已经析构的对象上,再对这个对象的数据进行操作时,就可能出现运行时错误。

如果楼主不希望这个函数产生一个 set 拷贝的话,建议将函数定义改为如下或类似的:
void RunQuery(set<TextQuery::line_no> & returnValue, ...) const;

返回const 引用有什么用,一般情况下,返回引用很容易出粗的

引用就相当于常量指针,没你这样的语法

有那种语法吗?