Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7194131
  • 博文数量: 510
  • 博客积分: 12019
  • 博客等级: 上将
  • 技术积分: 6836
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-01 16:46
文章分类

全部博文(510)

文章存档

2022年(2)

2021年(6)

2020年(59)

2019年(4)

2018年(10)

2017年(5)

2016年(2)

2015年(4)

2014年(4)

2013年(16)

2012年(47)

2011年(65)

2010年(46)

2009年(34)

2008年(52)

2007年(52)

2006年(80)

2005年(22)

分类: C/C++

2011-08-31 11:16:01

有序型的 const 静态数据成员可以在类体中用一常量值初始化 例如 如果 
决定用一个字符数组而不是 string 来存储账户的姓名 那么我们可以用 int 型的 const 数据成 
员指定该数组的长度 例如  
// 头文件 
class Account { 
 // ... 
private: 
  static const int nameSize = 16; 
  static const char name[nameSize]; 
}; 
 
// 文本文件 
const int Account::nameSize;  // 必需的成员定义 
const char Account::name[nameSize] = "Savings Account"; 
 
在类中const 修饰成员,则该成员属于对象范畴,所以不可在定义时候初始化,否则不同对象就是同一个值了(cosnt不能修改)。实际staic const 就是针对这个情况 ,从而简化,减低内存。


引:要深入理解 static const 引用、指针等概念。
1)static: 限定符,在类中含义。
  静态数据成员的 惟一性 本质 独立于类的任何对象而存在的惟一实例 使它能够 
以独特的方式被使用 这些方式对于非 static数据成员来说是非法的
2)const 、volatile 、mutable 是修饰限定符(specifier),用来修饰变量,函数、对象等,来表示特殊含义。

3)引用是别名

4) 指针是一个数据类型。

以上分析还不够,不可知从语言角度,要从编译器角度看

注:
有序类型,又称“整值类型”,指char   short   int   long   和它们的unsigned版本,不含float和double。本书勘误表中,把“有序类型”一律改为“整值类型”,可能就是为了避免误解。
阅读(2887) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~