Where there is a dream ,there is hope

  C++博客 :: 首页 :: 联系 :: 聚合  :: 管理
  64 Posts :: 0 Stories :: 8 Comments :: 0 Trackbacks

常用链接

留言簿(1)

我参与的团队

搜索

  •  

最新评论

阅读排行榜

评论排行榜

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菜鸟 阅读(87) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理