Конечно!Это говорит о том, что если у вас есть несколько исходных файлов (единиц перевода), которые оба используют какое-то имя (например, имя переменной, класса или функции), то возможно, что эти разные файлы говорят об одной и той же переменной,class, или function, предполагая, что эта сущность была объявлена таким образом, чтобы она была видна в разных файлах (то есть в зависимости от его связи).
Например, если у меня есть этот файл:
A.cpp:
int globalInt;
int main() {
globalInt = 137;
}
И вот этот:
B.cpp:
extern int globalInt;
void foo() {
globalInt = 42;
}
Тогда в обоих файлах имя globalInt
относитсяк глобальной int
переменной globalInt
, определенной в A.cpp.Это все, что говорит этот пункт.
Обратите внимание, однако, что если я объявлю globalInt
без внешней связи, то оба файла будут говорить о разных переменных.Например, в этом случае:
C.cpp:
static int globalInt;
int main() {
globalInt = 137;
}
D.cpp:
static int globalInt;
void foo() {
globalInt = 42;
}
Теперь переменная globalInt
указана в C.cpp не такое же, как в D.cpp, даже если они имеют одно и то же имя.
Надеюсь, это поможет!