没有合适的资源?快使用搜索试试~ 我知道了~
首页类的static,const,static const,const static成员的初始化
类的static,const,static const,const static成员的初始化

static,const,static const,const static是c++中几个常见的很容易弄混淆的几个概念,在这里总结了一下,与大家分享!
资源详情
资源评论
资源推荐

学习过 C++已经好长时间了,但是一直都没机会去写 C++代码,所以很多东西都已经给
遗忘了。趁着假期,我重新找到了 C++的学习资料来复习,并且写下一下学习的笔记,供
自己以后复习只用。下面是我的关于类的 static,const,static const , const static 成员的初始化
问题的学习笔记。
1.类里的 const 成员初始化:
在一个类里建立一个 const 时,不能给它初值。像
class foo
{
private:
const int i = 100;
public:
foo(){}
......
};
这样的初始化方式是不能通过编译的,因为在类对象里进行了存储空间分配,编译器不能
知道 const 的内容是什么,所以不能把它用作编译期间的常量。这意味着对于类里的常数表
达式来说,const 就像它在 C 中一样没有作用。因此这个初始化工作必须发生在构造函数里
并且,要在构造函数的某个特别的地方。因为 const 必须在建立它的地方被初始化,所以在
构造函数的主体里,const 必须已初始化了,否则,就只有等待,直到在构造函数主体以后
的某个地方给它初始化,这意味着过一会儿才给 const 初始化。当然,无法防止在在构造函
数主体的不同地方改变 const 的值。
构造函数初始化表达式
class foo
{
private:
const int i = 100;
public:
foo(){......}
......
};
如果构造函数是在类外定义,则可以这样写:
class foo
{
private:
const int i;
public:
foo();
......
};
foo::foo(): i(100){......}
2.类里的 static 成员初始化:
类中的 static 变量是属于类的,不属于某个对象,它在整个程序的运行过程中只有一个副



















bobjoehill
- 粉丝: 1
- 资源: 9
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论4