[C++] extern关键字的作用
作用:声明外部变量。使变量或对象可以被跨文件访问
c++语言支持分离式编译机制,该机制允许将程序分割为若干个文件,每个文件可被独立编译。
因此在编译期间,各个文件中定义的全局变量互相不透明,也就是说,在编译时,全局变量的可见域限制在文件内部。
对于A.cpp和B.cpp中,分别含有同名全局变量i,两个cpp文件会成功编译,但是在链接时会将两个cpp合二为一就会出现错误。这是因为同名存在重复定义。
如果在其中一个变量前添加extern关键字进行编译,再次进行链接时就会成功。完成了变量跨文件访问。