概述:在C++中,外边链接与内部链接是关于变量和函数功效域与可见性的重要概念。外边链接准许在区别文件中共享,而内部链接限制在当前文件内拜访。经过实例源代码,清晰展示了它们的用法,帮忙理解功效域与可见性的区别需求。
在C++中,外边链接(external linkage)和内部链接(internal linkage)是与变量、函数以及常量的功效域和可见性关联的两个重要概念。
1. 外边链接
外边链接暗示变量、函数或常量能够被其他文件拜访。关键字 extern 常用于声明拥有外边链接的变量。
实例源代码:// File1.cpp
#include <iostream>
// 声明拥有外边链接的全局变量
extern int globalVariable;
int main() {
std::cout << "File1: " << globalVariable << std::endl;
return 0;
}
// File2.cpp
#include <iostream>
// 定义拥有外边链接的全局变量
intglobalVariable =42;
int main() {
std::cout << "File2: " << globalVariable << std::endl;
return 0;
}
2. 内部链接
内部链接暗示变量、函数或常量只能在当前文件内部拜访。运用关键字 static 能够使变量、函数或常量拥有内部链接。
实例源代码:// File1.cpp
#include <iostream>
// 声明拥有内部链接的全局变量
static int internalVariable = 10;
int main() {
std::cout << "File1: " << internalVariable << std::endl;
return 0;
}// File2.cpp
#include <iostream>
// 错误:没法拜访拥有内部链接的变量
// std::cout << "File2: " << internalVariable << std::endl;
int main() {
return 0;
}
外边链接准许变量、函数或常量在多个文件之间共享,而内部链接限制了它们的可见性,仅在当前文件内可拜访。选取运用外边链接还是内部链接取决于变量或函数的功效域需求。
|