首先:const修饰的变量是“只读变量”!如果你说成是“常量“,那说明你是个业余者,虽然你明白它是干嘛的。
表达时尽量标准,趋近于专业!
关于const最简单的一句“const意味着只读”! 这是一句正确的答案,但是这不够详细,不够深入!
下面几个句应该知道是什么意思:
1. const int a;
2. int const a; 这两句是一个意思:a是“只读的”,即a是个“常整数型”
3. const int *pa; 指针pa指向的int型对象(int*)是"只读的", 虽然*pa不可改变,但pa是可以改变指向的!
4. int * const pa; 指针pa指向的int型对象,这个int型对象可以改变,指针pa不能改变指向!
5. int const * const pa; 指针与其指向的类型都不可改变!
以上5句,就可以作为扩展详说const!
标准C的库函数strcpy函数原型是: char *strcpy(char *dest, const char *src)
不加const也能实现,为什么要加上const呢?
1. 保证*src不会被改变
2. 让读代码的人一看便知,这个参数是“只读的”,只是拿来用,而不会改变!
合理地使用关键字const可以使编译器保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现
注:(int *, 表示一个指针指向的对象是int类型)