почему статический блок делает внутреннюю связь - PullRequest
0 голосов
/ 29 ноября 2018

Я понимаю, что создание чего-то статического создает внутреннюю связь, и другие единицы перевода не могут получить доступ к символу.Может кто-нибудь объяснить, почему создание статического делает это?это из стандартного или некоторого языкового трюка, который делает переменную невидимой при статическом объявлении?

1 Ответ

0 голосов
/ 29 ноября 2018

static может сбивать с толку, поскольку в зависимости от контекста он имеет несколько разных значений.В этом контексте это означает, что определяемая переменная видна только в текущей единице перевода:

int i;        // visible in all translation units
static int j; // visible only in the current translation unit
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...