|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 请教,为何类中const变量和引用必须要使用成员初始化列表来初始化?
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
4019
人关注过本帖
标题:
请教,为何类中const变量和引用必须要使用成员初始化列表来初始化?
只看楼主
加入收藏
全世界安静
等 级:
论坛游民
帖 子:104
专家分:65
注 册:2012-6-4
结帖率:
31.58%
楼主
收藏
已结贴
√
问题点数:5 回复次数:4
请教,为何类中const变量和引用必须要使用成员初始化列表来初始化?
class example
{
private:
const int num;
int& ret;
public:
example(int n,int f):num(n),ret(f)//请问num和ret为何一定要用成员初始化列表来初始化?最好能举例说明,谢谢!
}
搜索更多相关主题的帖子:
private
example
public
最好
2012-06-14 15:56
举报帖子
使用道具
赠送鲜花
yang400b
等 级:
论坛游民
帖 子:14
专家分:17
注 册:2012-6-13
第
2
楼
收藏
得分:0
我只知道const是起保护作用,一但定义为常成员函数初始化之后就不能再改变这个成员函数的值,那么你定义的一个常变量,只有成员初始化才能初始化了。
2012-06-14 18:10
举报帖子
使用道具
赠送鲜花
yang400b
等 级:
论坛游民
帖 子:14
专家分:17
注 册:2012-6-13
第
3
楼
收藏
得分:3
还有类本身就只能构造函数或者成员函数来初始化。
你有试过用成员函数初始化吗?
2012-06-14 18:12
举报帖子
使用道具
赠送鲜花
rjsp
等 级:
版主
威 望:
528
帖 子:9025
专家分:54030
注 册:2011-1-18
第
4
楼
收藏
得分:3
请问num和ret为何一定要用成员初始化列表来初始化?
------ 你能分清 初始化 和 赋值 的不同吗?
const和引用,必须被初始化,而成员初始化只有初始化列表一种方法。
2012-06-15 15:03
举报帖子
使用道具
赠送鲜花
半年换半生
等 级:
新手上路
帖 子:9
专家分:7
注 册:2012-7-21
第
5
楼
收藏
得分:0
对于静态成员来说,它是属于所有的类对象的,在内存中只存在一份拷贝,自然对于它的初始化只能进行一次,所以初始化它的方法被设计在了类声明中,而非类对象的定义中。
而常量成员呢,它是每个类对象都会拥有一份拷贝,所以它的初始化应该随着每个类对象的构造而进行一次,所有它的初始化只能存在于类的构造函数中
2012-07-23 15:48
举报帖子
使用道具
赠送鲜花
5
1/1页
1
快速回复:
请教,为何类中const变量和引用必须要使用成员初始化列表来初始化?
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018088 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved