之前很少接触到c++ extern,今天看了下网上的代码,不太明白,于是拿出书来看了下,一下是摘自于c++程序设计(谭浩强版)书上的一段代码,自己记录下,免得以后忘记了。
声明外部变量的时候可以这样用:
1.一个文件的情况下,用extern对外部变量做提前的引用声明,以扩展程序文件中的作用域。代码如下:
// Extern使用.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
using namespace std;
#include <iostream>
int max(int x ,int y)
{
return x>y?x:y;
}
int _tmain(int argc, _TCHAR* argv[])
{
extern int a, b;
cout<<max(a,b)<<endl;//调用a,b之前还没有知道a,b的值,通过extern做了提前声明,表示a,b是将在后面定义的变量。如果去掉extern则会报错。
return 0;
}
int a = 15,b = -7;
2.多文件的程序中声明外部变量,代码如下:
file1.cpp
extern int a,b;
int main()
{
cout<<a<<'',"<<b<<endl;
return 0;
}
file2.cpp
int a = 3,b = 4;
............
这里file1.cpp文件中使用了在file2.cpp文件中的值
谷歌度娘之后找到了一篇关于extern不错的文章,有时间可以参考下,网址:http://blog.youkuaiyun.com/kason2011/article/details/7375745