extern 用法汇集
来源:互联网 发布:手机游戏网络稳定软件 编辑:程序博客网 时间:2024/04/27 19:27
带有extern的变量,其不用加头文件,编译器会自动去其他文件中查找,并进行调用。值得注意的两点:
(1) 带有初始值的extern声明,是一种定义;
如:extern int ival=10;//定义变量ival
等同于:int ival=10;
(2) extern声明必须与其定义分属于不同的文件;
如:extern int ival;
int ival=10;
是错误的写法。
1. extern声明变量
基本形式:extern int ival;
如:在文件file_1.cpp中定义:int ival=10;
在文件file_2.cpp中定义:extern int ival;
那么file_2.cpp即指file_1.cpp中的ival;
但若file_3.cpp中有int ival=20;结果如何呢?
出现了重定义-虽然我们没有加任何头文件。笔者程序例子是counter而已。
2. extern+static用法
解决1中的办法呢?很简单在file_3.cpp中有static int ival=20;便可以了。因为加上static后其作用域仅仅是file_3.cpp这个文件。
3. extern+const用法
加上const的全局变量仅仅对其所在文件有用。在定义时加上extern来说明其为其他文件所用:
//file_1.cpp
extern const int ival=100;
//file_2.cpp
extern const int ival;
- extern 用法汇集
- extern用法
- extern用法
- extern用法
- extern 用法
- extern用法
- extern用法
- extern 用法
- extern用法
- Extern用法
- extern用法
- extern用法
- extern 用法
- Extern 用法
- extern用法
- extern用法
- extern 用法
- extern用法
- wchar 转成int
- java 环境变量配置
- Android WebView使用
- 我为啥呆在帝都
- kickstartU盘装系统
- extern 用法汇集
- python装饰器
- 我们结婚吧!让我陪你一辈子
- android Layout (复杂一点的)(嵌套)
- vs2005下的编码转码
- 在linux内核中创建一个/proc/下的文件结点实例http://www.lslnet.com/linux/dosc1/34/linux-259508.htm
- 关于读书:读XX书是否为时过早,是否有意义
- Jquery easyui datagrid 模板,动态切换表头
- tornado registry的问题--无法找到序数