Простой вопрос про static
, найти ответ не могу в книгах
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.217.140] |
|
|
| Страницы: (3) 1 2 [3] все ( Перейти к последнему сообщению ) |
Простой вопрос про static
, найти ответ не могу в книгах
|
Сообщ.
#31
,
|
|
|
|
gryz я это все понимаю. Но ты вот написал выше:
Цитата Если все глобальные переменные - статические (в глобальной области видимости), значит по идее они имеют internal linkage. Тогда почему пример, который я приводил выше, без ключевого слова static, приводит к ошибке линковщика? Как глобальная переменная может быть нестатической? Все глобальные переменные - статические. |
|
Сообщ.
#32
,
|
|
|
|
-Daemon-
Тут надо смотреть на то, как ты понимаешь понятие "статическая переменная". ![]() --- When modifying a variable or function at file scope, the static keyword specifies that the variable or function has internal linkage (its name is not visible from outside the file in which it is declared). ---- и --- Objects and variables defined outside all blocks have static lifetime and external linkage by default. A global object or variable that is explicitly declared as static has internal linkage. --- говоря, что переменная статическая. Я не имею ввиду, что у нее internal linkage, а имею ввиду ее "статическое" поведение |
|
Сообщ.
#33
,
|
|
|
|
-Daemon-, ну понятно же, что просто путаница в терминологии: "статический" по отношению к времени жизни и к области видимости. Хотя gryz неприминул попытаться Hryak'а на этом подловить.
|
|
Сообщ.
#34
,
|
|
|
|
gryz ок.
Adil я сам запутался |
|
Сообщ.
#35
,
|
|
|
|
Цитата Adil @ -Daemon-, ну понятно же, что просто путаница в терминологии: "статический" по отношению к времени жизни и к области видимости. Хотя gryz неприминул попытаться Hryak'а на этом подловить. Все таки, у меня в процессе работы с с++ сложилось мнение, что статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости. Добавлено Меня огорчило как на polyglott набросились |
|
Сообщ.
#36
,
|
|
|
|
Цитата gryz @ статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости. Скорее - это завист от контекста употребления. Добавлено Цитата Adil @ , хм, а меня - порадовало, что не на меня так набросились. Будь оптимистом. Меня огорчило как на polyglott набросились |
|
Сообщ.
#37
,
|
|
|
|
Цитата Adil @ хм, а меня - порадовало, что не на меня так набросились. Будь оптимистом. ![]() Ну на тебя то за то? nonstatic - неплохое ключевое слово. можно было бы и попользоваться им )) |
|
Сообщ.
#38
,
|
|
|
|
Цитата Adil @ -Daemon-, ну понятно же, что просто путаница в терминологии: "статический" по отношению к времени жизни и к области видимости. Хотя gryz неприминул попытаться Hryak'а на этом подловить. "Попытка - не пытка" © ЛПБ Цитата gryz Все таки, у меня в процессе работы с с++ сложилось мнение, что статическая переменная - это скорее переменная, имеющая характерное время жизни, чем характерную область видимости. Так это твое мнение. Моё мнение - "Статическая переменная - это переменная объявленная с использованием ключевого слова static". Сомневаюсь, что мое определение хуже твоего, потому что оно универсальней. Просто смысл зависит от контекста (кстати, перечитай ветку и найди хоть одно упоминание того, что речь шла про твой контекст - т.е. про локальные переменные) Я не применяю такое определение, когда контест неясен - в этом случае всегда добавляю к выражению "глобальная"/"локальная". А то, что ты называешь "статической переменной", называю "переменной со статическим временем жизни", если речь идет именно про время жизни. |