由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问一个c++问题关于reference vs. pointer
相关主题
谁能解释下这道c++的面试题static initialization dependency c++ (转载)
pointer 和reference的区别请教一个IT题目
一个简单的java题如何准备bloomberg online test
C++: 如何对const data member做assignment?有面过knight的吗
最新某公司onsite面试题C++ Q68: initialization (skillport)
怎么准备一些hardcore C++的interviewbloomberg 问题: C++ construct 时用 new 没"()"
C++ Q 103-105发几个C++面试题,senior的职位
问一个constructor的问题A question about C++. Thanks.
相关话题的讨论汇总
话题: reference话题: int话题: object话题: pointer话题: c++
进入JobHunting版参与讨论
1 (共1页)
l********n
发帖数: 54
1
http://www.parashift.com/c++-faq-lite/references.html#faq-8.5
在c++ faq中提道了一个使用reference的规则。说是如果一个reference绑定一个
object,这个reference就不能被reseat另一个object。 然而pointer就可以。
我的理解是一旦reference被initialize了,它就不能去引用其他的object了。如下例:
int a=10;
int b = 20;
int& c = a;
c = b; // 按照上面的规则,c=b应该是非法。
不过我试了一下,发现上面的code编译运行都没有问题。不知道是不是我理解出错了。
又试了试用class object,结果还是同样的。困惑中。。。
http://www.ideone.com/APkpW
s*********t
发帖数: 1663
2
你c=b之后cout<
例:

【在 l********n 的大作中提到】
: http://www.parashift.com/c++-faq-lite/references.html#faq-8.5
: 在c++ faq中提道了一个使用reference的规则。说是如果一个reference绑定一个
: object,这个reference就不能被reseat另一个object。 然而pointer就可以。
: 我的理解是一旦reference被initialize了,它就不能去引用其他的object了。如下例:
: int a=10;
: int b = 20;
: int& c = a;
: c = b; // 按照上面的规则,c=b应该是非法。
: 不过我试了一下,发现上面的code编译运行都没有问题。不知道是不是我理解出错了。
: 又试了试用class object,结果还是同样的。困惑中。。。

l********n
发帖数: 54
3
恩,是我傻冒了。
l*******o
发帖数: 791
4
int & c=a 里面的“=”是initialization的意思。c=a的等号是assignment的意思。不
是一回事
g*****e
发帖数: 54
5
没看懂,C++新手,哪位给解释下?谢谢。
l********n
发帖数: 54
6
是这样的
int& c = a; 是initialization。在此之前的c不指向任何变量。在这之后c变成了a的
alias, c就是a, a就是c. a, c是一回事,就是名字不同。
所以当c=b, 就不是initialization, 而是assignment, 所以 c=20, a=20.
b******n
发帖数: 592
7
int b;
int &c = b; // c is reference to b
c = a; // since c is reference to b, this is the same as b=a;

【在 g*****e 的大作中提到】
: 没看懂,C++新手,哪位给解释下?谢谢。
g*****k
发帖数: 623
8
这是C问题

例:

【在 l********n 的大作中提到】
: http://www.parashift.com/c++-faq-lite/references.html#faq-8.5
: 在c++ faq中提道了一个使用reference的规则。说是如果一个reference绑定一个
: object,这个reference就不能被reseat另一个object。 然而pointer就可以。
: 我的理解是一旦reference被initialize了,它就不能去引用其他的object了。如下例:
: int a=10;
: int b = 20;
: int& c = a;
: c = b; // 按照上面的规则,c=b应该是非法。
: 不过我试了一下,发现上面的code编译运行都没有问题。不知道是不是我理解出错了。
: 又试了试用class object,结果还是同样的。困惑中。。。

1 (共1页)
进入JobHunting版参与讨论
相关主题
A question about C++. Thanks.最新某公司onsite面试题
C++ object size一问怎么准备一些hardcore C++的interview
C++ Q70: this pointer (skillport)C++ Q 103-105
C++ Q82: Can you assign a base pointer to a derived pointer?问一个constructor的问题
谁能解释下这道c++的面试题static initialization dependency c++ (转载)
pointer 和reference的区别请教一个IT题目
一个简单的java题如何准备bloomberg online test
C++: 如何对const data member做assignment?有面过knight的吗
相关话题的讨论汇总
话题: reference话题: int话题: object话题: pointer话题: c++