C++中const的用法详解

如题所述

C++中的const用于定义常类型,确保变量或对象的值不可更新。定义常类型时必须初始化。例如:int const x=2;或const int x=2;。常数组定义如下:int const a[5]={1, 2, 3, 4, 5};

常对象是指对象常量,定义格式如下:const 类型名 对象名;或类型名 const 对象名;。同样需要初始化,且该对象不可再被更新。

常指针的const修饰符位置不同,含义也不同。定义一个指向字符串的常量指针:char * const ptr1 = stringptr1;。这里的ptr1是一个常量指针,ptr1 = stringptr2;是非法的,而*ptr1 = "m";是合法的。定义一个指向字符串常量的指针:const * ptr2 = stringptr1;。这里的ptr2是一个指向字符串常量的指针,*ptr2 = "x";是非法的,而ptr2 = stringptr2;是合法的。

常引用使用const修饰符,引用所引用的对象不能被更新。定义格式:const &引用名。常指针和常引用常用于函数参数,称为常参数。使用常参数表明函数不会更新参数所指向或所引用的对象,这改善了程序的运行效率。

常成员函数使用const关键字定义,只能操作常量或常对象。常成员函数说明格式:返回类型 成员名() const;。例如:void R::print() const { cout<<"20;52"<<endl; }。类中声明的两个成员函数类型不同,通过const修饰符处理const常量,体现了函数重载的特点。

常数据成员使用const关键字定义,必须初始化且不可更新。在类中说明常数据成员时,只能通过成员初始化列表生成构造函数初始化数据成员。例如:A(int i):a(i), r(a) { },其中冒号后是数据成员初始化列表,包含两个初始化项,用逗号分隔。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜