Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19269422
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: C/C++

2008-03-20 18:04:56

  常量,如const int max = 100; BSD爱好者乐园1DV jK{
优点:const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型检查,而对后者只进行字符替换,没有类型安全检查,并且在字符替换时可能会产生意料不到的错误(边际效应)

2.      const修饰类的数据成员。如:BSD爱好者乐园v#`*x-?I&u?e7q#H
class A

(X[] uA$o\

{BSD爱好者乐园E+A5R.R e

   const int size;

uY"[:i&e

   BSD爱好者乐园(d/ocdL/H"wl

}

NF%@+[${:Js[)uv

const数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的。因为类可以创建多个对象,不同的对象其const数据成员的值可以不同。所以不能在类声明中初始化const数据成员,因为类的对象未被创建时,编译器不知道const数据成员的值是什么。如BSD爱好者乐园,Y"ysF(?#A Y-c3{]

class ABSD爱好者乐园f3F]"cV1@tkxEvI

{

w(R6T4w[iY

 const int size = 100;   //错误

*|
阅读(304) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~