Я слышал, что между языками существуют различия в значении ключевого слова static
, но я не нашел хорошего списка, который объединяет эти различия.static на разных языках
Вот что я знаю о значении static
в C++:
- Для локальных статических переменных внутри функции переменная инициализируется при запуске и значение сохраняется между вызовами функции.
- Статические члены данных разделяются между всеми экземплярами класса. Другими словами, существует только один экземпляр элемента статических данных. Элементы статических данных должны быть инициализированы в области файлов.
- Статические функции-члены имеют доступ только к статическим элементам.
- В рекурсивном коде статический объект или переменная гарантированно имеют одно и то же состояние в разных экземплярах блока кода.
- Статические объекты и переменные, определенные в области файлов, имеют только внутреннюю связь. Никакие другие файлы не могут их использовать.
Как смысл static
изменения на других языках?
Статические локали в C++ инициализируются при первом вызове, а не при запуске. – 2009-03-06 19:16:22
@Iraimbilanja, можете ли вы дать мне ссылку на это? По-видимому, MSDN предлагает другое. –
@Iraimbilanja: C & V 6.7 (см. Мое сообщение ниже для точной строки). – dirkgently