Форум программистов, компьютерный форум CyberForum.ru

Назначение static ? - C++

Восстановить пароль Регистрация
 
 
pEntity
10 / 5 / 1
Регистрация: 12.12.2012
Сообщений: 371
09.03.2013, 15:59     Назначение static ? #1
Здравствуйте. Я уже прочитал в двух книгах про статик,читал в википедии,но так и не понимаю для чего он ? Кучи больших текстов и объяснений для чего он,я так и не пойму конкретно,когда мне его нужно использовать.


Вы бы не могли максимально просто и понятно объяснить?) Неплохо было бы с простыми примерами. То есть когда для переменных использовать,когда для функций.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.03.2013, 15:59     Назначение static ?
Посмотрите здесь:

Private: static C++
C++ static-член
Опять static C++
C++ static const
C++ static и const
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.03.2013, 18:26     Назначение static ?
Еще ссылки по теме:

C++ static class
C++ static const?
Static C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
09.03.2013, 18:26     Назначение static ? #21
Ну как сказать, 6.7/4:
The zero-initialization of all block-scope variables with static storage duration or thread storage duration is performed before any other initialization takes place. Constant initialization of a block-scope entity with static storage duration, if applicable, is performed before its block is first entered. An implementation is permitted to perform early initialization of other block-scope variables with static or thread storage duration under the same conditions that an implementation is permitted to statically initialize a variable with static or thread storage duration in namespace scope. Otherwise such a variable is initialized the first time control passes through its declaration
...
Инициализация нулём выполняется до начала выполнения программы.

Инициализация константой — при первом входе в блок.

Разрешено, но не обязательно, инициализировать любую статическую переменную до начала выполнения программы, если 1) такая инициализация не меняет значений других переменных; 2) такая инициализация даст тот же результат, если бы была действительно выполнена при первом входе в блок.

Если какие-то сомнения, то инициализируется при проходе потока исполнения через определение переменной.


Не то, чтобы Пратт был совсем не прав, но всё же инициализация до выполнения программы не всегда выполняется.


Вот именно поэтому не рекомендуется пользоваться статическими переменными. Потому что чёрт ногу сломит в правилах их инициализации и уничтожения.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Yandex
Объявления
09.03.2013, 18:26     Назначение static ?
Ответ Создать тему
Опции темы

Текущее время: 15:06. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru