C++和C的编译程序所占内存
1、栈区:编译器的自动分配释放
2、堆区:程序员分配释放
3、全局区:静态,程序结束后释放
4、文字常量区:常量字符串,程序结束后释放
5、程序代码区:存放在函数体中,程序结束后释放
tip:局部变量比全局变量响应快是因为局部变量在cache中
const类型值的变化
const类型的值不会被改变。
如果在const类型前加上volatile可以改变值,但是这种行为在c++编译中属于未定义行为,即编译器在处理const值的时候,会将其存放在符号表中,没有去内存中取值,而加上volatie之后,编译器碰到时,会放弃对该值的优化,而去内存中寻找该值,所以该值会发生变化。不建议用。