大家都知道,链接是将不同的翻译单元连到一起,C++中有三种链接,即外链接、内链接和无链接。

       外链接意思是其它的翻译单元可以访问该文件,普通的变量、函数、命名空间都有外链接,例如,在1.cpp中声明一个变量int i,在2.cpp中自然是不能直接使用的,因为在编译2.cpp时,编译器并不知道变量i的存在,想要使用,可在2.cpp中用extern关键字访问,即extern int i;

       内链接意思是某个翻译单元的文件只能该单元内部使用,函数外定义的静态变量都有内链接。

       最后,函数内部定义的变量无链接