Where there is a dream ,there is hope
C++博客
::
首页
::
联系
::
聚合
::
管理
64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
我参与的团队
随笔分类
C#(2)
C/C++(19)
EFFECTIVE-STL学习笔记(3)
Mono
monodevelop
TCP/IP(1)
翻译文章(4)
算法/数据结构(1)
折腾UBUNTU(2)
职业人生(1)
随笔档案
2011年11月 (1)
2011年10月 (7)
2011年9月 (2)
2011年8月 (7)
2011年7月 (3)
2011年6月 (5)
2011年4月 (2)
2011年3月 (5)
2011年2月 (8)
2011年1月 (1)
2010年12月 (7)
2010年11月 (9)
2010年10月 (4)
2010年7月 (3)
收藏夹
生活思考(1)
C++
C#讲师-设计模式-数据结构
范怀宇
韩湘子
专门解决各种C++疑难杂症
搜索
最新评论
1. re: 匿名空间
u厉害
--何霞飞
2. re: 匿名空间
.就空间看快乐
--何霞飞
3. re: 服务器设计-转
这种文章挺少的噢。不是做服务器的,多了解一些总是好的。设计真是一门有意思的学问。
--K.V
4. re: josephon问题
不过这个模拟过程非常不好,对于100000以上的人数来说简直就是悲剧。。。
--Husiwa
5. re: 简洁的字符串连接函数
@木头奎
的确有缺点,但这个函数的实现过程还是有其发作的
--Husiwa
阅读排行榜
1. 转载:vector find(2364)
2. vector 查找指定元素(1750)
3. C#结构体序列化(1230)
4. windows.h与winsock2.h的包含顺序(1120)
5. 模板类静态变量初始化(1092)
评论排行榜
1. 匿名空间(2)
2. 简洁的字符串连接函数(2)
3. Orx教程--4.动画(1)
4. C++指针探讨 (一)数据指针(1)
5. josephon问题(1)
EFFECTIVE
class
GamePlayer
{
private
:
static
const
int
NumTurns
=
5
;
//
声明式
}
;
这个NumTurns是声明式,类中的整数型如果不取指针只需提供声明还无需定义式,如果取某个class的专属常量,就必须也提供定义式
const int GamePlayer::NumTurns;放在实现文件,因为定义式已经赋值,所以不可以再赋值
有的时候编译器不允许在声明的时候提供初值,则可将初值放在定义式,唯一的例外是如果class在编译期间需要一个class常量值,但是编译器错误的报错,那可以用enum 替换.
如果不想让别人获得一个指针或者引用指向某个常量值,则可以用enum实现这个约束。
std::vector
<
int
>
vec;
const
std::vector
<
int
>
::iterator iter
=
vec.begin();
//
iter的作用相当于T* iter
*
iter
=
10
;
//
对
++
iter ;
//
错
std::vector
<
int
>
::const_iterator cIter
=
vec.begin()
//
const T*
*
cIter
=
10
;
//
错
++
iter ;
//
对
初始化序列:如果成员变量是const或者references 他们就一定要初值,所以要再初始化列表中
posted on 2011-08-08 15:46
IT菜鸟
阅读(88)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
Copyright @ IT菜鸟
Powered by:
.Text
and
ASP.NET
Theme by:
.NET Monster