由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请问C++返回值和返回引用区别
相关主题
c++ private 问题请教大虾们一个C++返回值问题
operator++ 返回值问题刚看完类这一章,有些大小问题,请指教,谢谢
[C++] 入门级问题 increment and decrement operators师傅们都出来看看吧,我也问个C++返回值问题。
C编译器为何允许一个函数在某个路径不返回值?新手请教:C++ decrement loop
override operator[] inlineC++的exception大家常用吗?
goodbug又丢人了【C++】请问这样有没有memory leak?多谢
做了一个测试经过两个月,矩阵库基本完成,c++11就是好
哥决定常驻这个版了inline functions in C++
相关话题的讨论汇总
话题: triangular话题: iterator话题: increment话题: c++话题: operator
进入Programming版参与讨论
1 (共1页)
k*******3
发帖数: 1909
1
essential C++ 中文版4.6节“打造一个iterator class”中分别定义了++的前置和后
置版
本,请问为啥一个返回Triangular_iterator&,而一个返回Triangular_iterator类呢?
谢谢。
inline Triangular_iterator& Triangular_iterator::
operator++()
{ // prefix instance
++_index;
check_integrity();
return *this;
}
inline Triangular_iterator Triangular_iterator::
operator++( int )
{ // postfix instance

Triangular_iterator tmp = *this;
++_index;
check_integrity();
return tmp;
}
x****u
发帖数: 44466
2
引用就是指针

呢?

【在 k*******3 的大作中提到】
: essential C++ 中文版4.6节“打造一个iterator class”中分别定义了++的前置和后
: 置版
: 本,请问为啥一个返回Triangular_iterator&,而一个返回Triangular_iterator类呢?
: 谢谢。
: inline Triangular_iterator& Triangular_iterator::
: operator++()
: { // prefix instance
: ++_index;
: check_integrity();
: return *this;

k*******3
发帖数: 1909
3
为啥前置++和后置++一个返回值一个返回引用呢?

【在 x****u 的大作中提到】
: 引用就是指针
:
: 呢?

f*******n
发帖数: 12623
4
operator++() is for pre-increment (++x)
operator++(int) is for post-increment (x++)
Because both pre and post are unary operators, there is no way to tell them
apart, so C++ made a special case, and post-increment / post-decrement take
an additional int parameter.
Pre-increment returns a reference, because a pre-increment expression is an
lvalue (you can assign to it or take the address of it, etc.). Post-
increment returns a copy, because a post-increment expression is a rvalue.

呢?

【在 k*******3 的大作中提到】
: essential C++ 中文版4.6节“打造一个iterator class”中分别定义了++的前置和后
: 置版
: 本,请问为啥一个返回Triangular_iterator&,而一个返回Triangular_iterator类呢?
: 谢谢。
: inline Triangular_iterator& Triangular_iterator::
: operator++()
: { // prefix instance
: ++_index;
: check_integrity();
: return *this;

k*******3
发帖数: 1909
5
高! 学习了。谢谢

them
take
an

【在 f*******n 的大作中提到】
: operator++() is for pre-increment (++x)
: operator++(int) is for post-increment (x++)
: Because both pre and post are unary operators, there is no way to tell them
: apart, so C++ made a special case, and post-increment / post-decrement take
: an additional int parameter.
: Pre-increment returns a reference, because a pre-increment expression is an
: lvalue (you can assign to it or take the address of it, etc.). Post-
: increment returns a copy, because a post-increment expression is a rvalue.
:
: 呢?

1 (共1页)
进入Programming版参与讨论
相关主题
inline functions in C++override operator[] inline
A tech question (转载)goodbug又丢人了
inline C function in VC++ 2005 express做了一个测试
有什么办法可以查每行代码用的时间?哥决定常驻这个版了
c++ private 问题请教大虾们一个C++返回值问题
operator++ 返回值问题刚看完类这一章,有些大小问题,请指教,谢谢
[C++] 入门级问题 increment and decrement operators师傅们都出来看看吧,我也问个C++返回值问题。
C编译器为何允许一个函数在某个路径不返回值?新手请教:C++ decrement loop
相关话题的讨论汇总
话题: triangular话题: iterator话题: increment话题: c++话题: operator