这可能是一个愚蠢的问题
但是据我所知,c ++中的“无链接”是指在范围内定义的实体不能从其他作用域引用相同的名称
但是我可以编写如下的简单代码在这种情况下,我可以说var
仍然“没有链接”吗?(即使它们使用不同范围的相同名称来引用实体)
#include <iostream>
int* foo() {
static int* var = new int(10);
std::cout << "var in foo: " << *var << std::endl;
return var;
}
int main() {
int* var = foo();
std::cout << "var in main: " << *var << std::endl;
}
我不确定您是否以正确的方式指代“链接”。如果您正在谈论编译过程的链接阶段,则将静态变量“链接”。
对于这个模棱两可的问题我很抱歉因此,如果出现错误,我会像下面这样自己回答:请让我知道