Redian新闻
>
问一个关于引用和指针的问题
avatar
问一个关于引用和指针的问题# JobHunting - 待字闺中
M*5
1
我对于c++一些很高级的特性都能理解,唯独对reference始终理解不了
首先总结一些,reference有如下的特性:
1.reference不能为NULL
2.reference是从一而终的,绝对不会变换所指的对象
下面写一段代码,然后问个问题
class A{
}
(类的定义省去了)
A a; //这里肯定会调用缺省的ctor
A& ra = a;
所以我的问题是,定义ra的时候,会调用A的copy contructor吗?
由此引申出了另外一个问题
在函数的参数为引用类型的时候(不是const引用类型),如果调用函数的时候,传递
的参数是一个对
象,那么这个时候会调用copy constructor吗
avatar
J*d
2
reference其实就相当于另起了个名字。定义ra的时候不会叫constructor, 因为ra指带
的还是同一个object. Pass by ref的时候也不会call copy constructor.否则pass by
ref还有什么意义?

【在 M********5 的大作中提到】
: 我对于c++一些很高级的特性都能理解,唯独对reference始终理解不了
: 首先总结一些,reference有如下的特性:
: 1.reference不能为NULL
: 2.reference是从一而终的,绝对不会变换所指的对象
: 下面写一段代码,然后问个问题
: class A{
: }
: (类的定义省去了)
: A a; //这里肯定会调用缺省的ctor
: A& ra = a;

avatar
M*5
3

by
对哦,最后一句话解决问题了

【在 J******d 的大作中提到】
: reference其实就相当于另起了个名字。定义ra的时候不会叫constructor, 因为ra指带
: 的还是同一个object. Pass by ref的时候也不会call copy constructor.否则pass by
: ref还有什么意义?

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。