您的位置:首页 > 编程语言 > C语言/C++

《C++ Primer》笔记-const与extern

2012-12-27 10:17 267 查看
一般变量:如我在file_1.cpp中定义了一个变量,在file_2.cpp中我想使用它,那么我只需要在file_2.cpp中用extern声明它就可以用了:


// file_1.cc
int counter;  // definition
// file_2.cc
extern int counter; // uses counter from file_1
++counter;          // increments counter defined in file_1
const变量:除非特别说明,const变量只作用与file1中,不能被其他文件访问。
此时若还想在file2中使用它,那么在file1中也要声明它为extern的。


// file_1.cc

// defines and initializes a const that is accessible to other files
extern const int bufSize = fcn();

// file_2.cc

extern const int bufSize; // uses bufSize from file_1

// uses bufSize defined in file_1

for (int index = 0; index != bufSize; ++index)

// ...

本程序中,file_1.cc 通过函数 fcn 的返回值来定义和初始化 bufSize。 而 bufSize 定义为 extern,也就意味着 bufSize 可以在其他的文件中使用。 file_2.cc 中 extern 的声明同样是 extern;这种情况下,extern 标志着 bufSize 是一个声明,所以没有初始化式。

非 const 变量默认为 extern。要使 const 变量能够在其他的 文件中访问,必须地指定它为 extern。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: