const含义
常类型是指用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。
const作用
防止修改,起保护作用,增加程序健壮性
可以节省空间,避免不必要的内存分配
const对象默认为文件局部变量
非const变量默认为extern。要使const变量能够在其它文件中访问,必须在文件中显式地指定它为extern。
// file1.cpp
int ext
// file2.cpp
#include<iostream>
extern int ext;
int main(){
std::cout<<(ext+10)<<std::endl;
}
//extern_file1.cpp
extern const int ext=12;
//extern_file2.cpp
#include<iostream>
extern const int ext;
int main(){
std::cout<<ext<<std::endl;
}
定义常量
定义时必须初始化,定义后不能修改
指针与const
const char * a; //指向const对象的指针或者说指向常量的指针。
char const * a; //同上
char * const a; //指向类型对象的const指针。或者说常指针、const指针。
const char * const a; //指向const对象的const指针。
如果const位于的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量(指针指向的值不能修改);
如果const位于的右侧,const就是修饰指针本身,即指针本身是常量(指针的指向不能修改,但指向的值能修改)。
类中使用const
在一个类中,任何不会修改数据成员的函数都应该声明为const类型。如果在编写const成员函数时,不慎修改 数据成员,或者调用了其它非const成员函数,编译器将指出错误,这无疑会提高程序的健壮性。