首页 > 代码库 > c和c++中const区别分析
c和c++中const区别分析
1、c中const是一个只读的变量有内存;c++的const是一个常量,有没有分配内存要看具体情况,例如:定义一个全局的const int a =10;如果后序对a进行取地址操作,编译器会在全局常量区为a分配内存空间,如果没有取地址操作,则不会分配内存,并且编译器会进行优化,在预处理阶段将a用10替换。
2、c中全局变量默认是外部链接的,c++ 中默认是内部链接的,加上extern可变为外部链接。
3、c++局部const是在栈上分配空间的,也是可以通过取地址进行修改的,有些情况编译器会对代码进行优化,在预处理阶段,直接const变量进行替换,加上volatile可防止编译器进行优化。
c和c++中const区别分析
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。