почему статический блок делает внутреннюю связь

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

-3

Решение

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

int i;        // visible in all translation units
static int j; // visible only in the current translation unit
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]