WEB开发网
开发学院软件开发VC const传奇 阅读

const传奇

 2007-03-16 21:56:40 来源:WEB开发网   
核心提示: void main(void){const char* const str = "Hello, World";//指向字符串常量的常指针*str = ''M'';//错误,不能改变字符串内容str = "Bye, World&q
void main(void)
{
  const char* const str = "Hello, World";    //指向字符串常量的常指针
  *str = ''M'';      //错误,不能改变字符串内容
  str = "Bye, World";    //错误,不能改变指针指向的地址
}
Const和引用

引用实际上就是变量的别名,这里有几条规则:

声明变量时必须初始化

一经初始化,引用不能在指向其它变量。

任何对引用的改变都将改变原变量。

引用和变量本身指向同一内存地址。

下面的例子演示了以上的规则:

void main(void)
{
  int i = 10;          //i和j是int型变量
  int j = 20;    
  int &r = i;          //r 是变量i的引用
  int &s;            //错误,声明引用时必须初始化
  i = 15;            //i 和 r 都等于15
  i++;            //i 和 r都等于16
  r = 18;            //i 和r 都等于18
  printf("Address of i=%u, Address of r=%u",&i,&r);  //内存地址相同
  r = j;            //i 和 r都等于20,但r不是j的引用
  r++;            //i 和 r 都等于21, j 仍等于20
}
用const修饰引用,使应用不可修改,但这并不耽误引用反映任何对变量的修改。Const加在数据类型前后均可。

例如:void main(void)
{
  int i = 10;
  int j = 100;
  const int &r = i;
  int const &s = j;
  r = 20;     //错,不能改变内容
  s = 50;     //错,不能改变内容
  i = 15;     // i和r 都等于15
  j = 25;     // j和s 都等于25
}
Const和成员函数

上一页  1 2 3 4  下一页

Tags:const 传奇

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接