const的作用是什么?

来源:百度知道 编辑:UC知道 时间:2024/06/14 18:00:49

看你是C还是C++咯,
C:
第一,限定一个只读变量(不是常量)。如const double PI = 3.14
第二,限定函数参数,如,
void function(const char *p) //函数只能读取不能改变p的值

C++里入了这两个以外还有一个,就是类的const成员函数,
class A
{
public: void function(int arg) const;
}
这个const是限定这个成员函数不能改变类数据成员的值,就把this指针限定为const this.

定义常量,定义了常量之后在程序中就不能修改他了,可以防止修改

const 定义的是一个常量,应该说他是一个不可改变的左值,就是说它和其他变量一样占用了内存,但是呢,这个内存的东西不能变,正像Fixend所说,假如你有#define SIZE 10 ,这个SIZE 在编译时已经知道了值,c/c++需要在编译时知道数组的大小。而const int SIZE 这个值还是要在运行时取出来的。
但是由于编译技术,有的先进编译器将const int 类型的常量当成宏定义,至于和普通的宏定义有什么不同呢,因为是量,所以它可以有作用域和访问控制(对C++),而c中,用const 量往往能够增强代码的可读性,防止用简单的宏定义(简单的字符串替换)和令代码晦涩难懂的数字。

看你是C还是C++咯,
C:
第一,限定一个只读变量(不是常量)。如const double PI = 3.14
第二,限定函数参数,如,
void function(const char *p) //函数只能读取不能改变p的值

表示只读