码迷,mamicode.com
首页 > 其他好文 > 详细

memory models and namespace

时间:2015-07-10 23:35:54      阅读:168      评论:0      收藏:0      [点我收藏+]

标签:

继续《C++ premier plus 》

先来解释一下scope和linkage,所谓scope,是指变量的作用范围,所谓linkage,是指变量能否在不同文件中共享

1,自动变量(automatic variable),local scope, no linkage

函数的参数,函数内定义的变量(未使用static限定),以及语句块中定义的变量,均为自动变量,自动变量具有local scope,即局部作用域,只在定义的函数或者块中起作用,当程序执行离开某个函数或区块时,其中的自动变量被释放(free)掉

2,静态变量(static variable),有三种external linkage,internal linkage and no linkage

静态变量只要程序在运行,就一直存在,不会被释放掉。声明external linkage的静态变量,要在所有函数或者区块外面声明即可;要声明internal linkage的静态变量,在上述变量前面加上“static”限定符;要声明no linkage的静态变量,在区块或者函数内声明static 类型的变量即可

memory models and namespace

标签:

原文地址:http://www.cnblogs.com/csucat/p/4637601.html

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