C/C++程序设计—const

1 const的用途

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

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

   在const成员函数中,用mutable修饰成员变量名后,就可以修改类的成员变量了。

   被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。

2 扩展

   C中的const的意思是“一个不能被改变的普通常量”。在C中,它总是占用内存,而且它的名字是全局符。C编译器不能把const看成一个编译期间的常量。

    const bufsize;  

    在C++中是不对的,而C编译器则把它作为一个声明,这个声明指明在别的地方有内存分配。

    C默认const是外部连接的,C++默认const是内部连接的。

    在C++中可以用extern把内部连接改为外部连接。

    eg:extern const bufsize; //declaration only.也可用在C中。

    在C语言中使用限定符const不是很有用,即使是在常数表达式里(必须在编译期间被求出)想使用一个已命名的值,使用const也不是很有用的。C迫使程序员在预处理里使用#define。

原文地址:https://www.cnblogs.com/freeso/p/3978052.html