|
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
|
||||||
Зачем нужен static20.12.2010, 01:48. Показов 16479. Ответов 8
Метки нет (Все метки)
Объясните зачем нужно объявлять перменные за типом статик, что это даёт я так и не понял. Почему объявлять нужно в классе, а потом ещё и за классом?
0
|
||||||
| 20.12.2010, 01:48 | |
|
Ответы с готовыми решениями:
8
Зачем здесь нужен static Зачем создавать безымянное пространство имён, если я могу просто написать static? Что такое static const и для чего он нужен? |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 20.12.2010, 01:53 | ||||||
|
Не-а. В классе static переменные объявляют для того, чтобы переменная принадлежала самому классу, а не объекту, т.е. чтобы можно было написать
имя класса::имя переменной. Ну и в основном это делается, чтобы установить переменную константой класса ( а может и не в основном ). Т.е.
2
|
||||||
|
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
|
|
| 20.12.2010, 02:01 [ТС] | |
|
То есть их используют как константы в основном? А зачем?
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 20.12.2010, 02:07 | ||||||
|
Golovastik, Скорее не в основном... Скорее чтобы показать, что переменная часть непосредственно класса, а не объекта этого класса.
Добавлено через 2 минуты Впринципе проследи этот код.
0
|
||||||
|
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
|
||||||
| 20.12.2010, 02:08 [ТС] | ||||||
Сейчас гляну ваш код №2.
0
|
||||||
|
программист С++
860 / 600 / 147
Регистрация: 19.12.2010
Сообщений: 2,014
|
|
| 20.12.2010, 02:11 | |
|
проще сказать так - статическая переменная одинаковая у всех объектов класса, если поменять ее у одного объекта, то меняется и во всех остальных.
можно использовать для обозначения какого то признака
0
|
|
|
11 / 11 / 2
Регистрация: 25.05.2009
Сообщений: 435
|
||||||
| 20.12.2010, 02:17 [ТС] | ||||||
|
Проверил ваш код.
1) Получается я не создаю никакого объекта, а просто обращаюсь к переменной класса и даже не к свойству класса, а к переменной? 2)Мне не нужно создавать несколько объектов, а только через область видимости обращаться к переменной класса, но не к объекту? 3)Является ли оправданным объявление функций или переменных внутри класса за типом статик ведь если объявить статик за типом инт он будет занимать 4 байта который содержит инт на всё время запуска программы, объём программы этим увеличивается?
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 20.12.2010, 02:22 | |
|
Golovastik,
1) Именно так. можно изменять и через объект, НО изменяться будет в самом классе. Для всех объектов одна и та же статическая переменная. 2) Можно и так и так. Но меняться будет не у конкретного объекта а для всех. 3) Иногда это бывает нужно. В шарпе это используется чаще чем в C++. Но некоторые паттерны построены вокруг статических функций. Одиночка вроде как будет неплохой пример. Ну. 4 байта - несильно увеличат насколько я понимаю)
0
|
|
| 20.12.2010, 02:22 | |
|
Помогаю со студенческими работами здесь
9
Объяснить зачем нужен i Ostream - зачем нужен?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|