码迷,mamicode.com
首页 > 编程语言 > 详细

c和c++中const区别分析

时间:2017-05-28 14:56:14      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:区别   vol   默认   阶段   定义   变量   行修改   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区别分析

标签:区别   vol   默认   阶段   定义   变量   行修改   const   没有   

原文地址:http://www.cnblogs.com/zangwei/p/6915627.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!