1、const基础知识(用法、含义、好处)
初级理解:const是定义常量,const以为着只读
Const好处
// 合理的利用const
//1指针做函数参数,可以有效的提高代码可读性,减少bug
// 2 清楚的分清参数的输入和输出特性
int setTeacher_err(const Teacher *p)
Const修改形参的时候,在利用形参不能修改指针所指向的内存空间
2、c中“冒牌货”
c++编译器对const常量的处理
当碰见常量声明时,在符号表中放入常量,
编译过程若发现使用常量则直接以符号表中的值替换
编译过程若发现const使用了extern或者&操作符,则给对应的常量分配内存空间(兼容c)
注意:c++编译器虽然可能为const常量分配内存空间,但不会使用其存储空间中的值
结论:
c语言中的const变量是只读变量,有自己的存储空间
c++中的const常量
可能分配存储空间,也可能不分配存储空间
当const常量为全局,并且需要在其他文件中使用,
当使用&操作符取const常量的地址
const和define的区别
C++中的const常量类似于宏定义
const int c = 5; ≈ #define c 5
C++中的const常量在与宏定义不同
const常量是由编译器处理的,提供类型检查和作用域检查
宏定义由预处理器处理,单纯的文本替换