const的用法及它在C语言和C++中的不同

(1)可以定义const常量。

(2)Const可以修饰函数的参数和返回值,甚至定义体。被const修饰的东西都受到强制保护。

(3)Const修饰成员函数时,用于成员函数前面,则返回值不能作为左值。用在后面,则该成员函数的数据成员不能改变。

(4)Const修饰数据成员时,必须使用冒号语法。

在C程序中,const主要有定义变量、修饰函数参数、修饰函数返回值。

在C++程序中,还可以修饰函数的定义体,定义类中成员函数为恒态函数,既不改变类中的数据成员。

在数组定义维数N时,只能用const和define来定义N:

如:

 const int N =10;
 char a[N];
或
#define N 10
 char a[10];

此时N作为数组的维数,只能作为常量。Int N= 10; char a[N];是错误的,因为此时N为变量。

const与#define的不同?

(1)const常量有数据类型,宏常量没有。

扫描二维码关注公众号,回复: 6872267 查看本文章

(2)编译器对const可以进行类型安全性检查,define只能进行字符替换。

(3)有些集成化调试工具可以对const常量进行调试,但不能对宏常量进行调试。

在C++程序中只使用const常量而不使用宏常量

(4)const修饰成员变量时,成员变量的初始化必须在构造函数的初始化列表(冒号语法)中进行。

猜你喜欢

转载自www.cnblogs.com/yuanqiangfei/p/11248125.html