摘要: 为什么用EXTERN?全局变量(外部变量)是在函数的外部定义的,它的作用域为从变量的定义处开始,到本程序文件的末尾。在此作用域内,全局变量可以为本文件中各个函数所引用。编译时将全局变量分配在静态存储区。有时需要用extern来声明全局变量,以扩展全局变量的作用域。如果外部变量不在文件的开头定义,其有效的作用范围只限于定义处到文件终了。如果在定义点之前的函数想引用该全局变量,则应该在引用之前用关键字 extern对该变量作外部变量声明,表示该变量是一个将在下面定义的全局变量。有了此声明,就可以从声明处起,合法地引用该全局变量,这种声明称为提前引用声明。extern关键字告诉编译器,"这 阅读全文
posted @ 2011-11-07 19:44 麦飞 阅读(563) 评论(0) 推荐(0) 编辑
摘要: string::size_type类型从逻辑上来讲,size()成员函数似乎应该返回整型数值。但事实上,size操作返回的是string::size_type类型的值。我们需要对这种类型做一些解释。string类类型和许多其他库类型都定义了一些伙伴类型(companion types)。这些伙伴类型使得库类型的使用是机器无关的(machine-independent)。size_type就是这些伙伴类型中的一种。它定义为与unsigned型(unsigned int或unsigned long)具有相同的含义,而且可以保证足够大可存储任意string对象的长度。为了使用由string类型定义的 阅读全文
posted @ 2011-11-07 13:47 麦飞 阅读(290) 评论(0) 推荐(0) 编辑