Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.05.2015, 11:01   #1
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию Применение статических переменных

Всем приятного дня !!!

Подскажите пожалуйста , где и с какой целью применяются статические

переменные.

В учебнике сказанно что их можно применять в самом классе к примеру

для подсчета обьектов.

А исче где-то можно применять кроме классов ?
RAFA91 вне форума Ответить с цитированием
Старый 08.05.2015, 13:29   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Статические переменные, это переменные, которых не нужно создавать в куче, как объекты класса. Они в этом плане могут считаться глобальными. Т.е. практически везде, где применяются глобальные переменные можно применять и статические, с отличием небольшим: Статические подчиняются законам ООП, а глобальные - законам линейного программирования. Вот пожалуй и вся разница. Думаю что не ошибаюсь, но если спецы местные поправят меня буду только рад )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2015, 14:10   #3
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

статические перем. применяют только совместно с классами ?
RAFA91 вне форума Ответить с цитированием
Старый 08.05.2015, 17:54   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Нет. Они спокойно могут хранить состояние между вызовами функции. Начните же читать документацию https://msdn.microsoft.com/ru-ru/library/s1sb61xd.aspx
p51x вне форума Ответить с цитированием
Старый 08.05.2015, 18:11   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ну по идее да. Статика как бы говорит о том что эта переменная, а точнее свойство может быть задействовано даже если объекта не создано, простым обращением к имени типа класса. Потому можно провести параллель такую с глобалками. Отличие только в том что эти переменные упакованы в класс.

Вот если посмотришь на самую простую программу на C# (проведешь параллель) то обратишь внимание что метод main() статический. Т.е. он должен вызываться как главный стартующий, поэтому его нужно пометить как статику, чтоб не заставлять создавать экземпляр класса. Поскольку это стартующий метод программы в Шарпе, то создавать его нельзя, вот и обьявляют такие штуки статическими.
И переменные кстати, что в такой программе используются в качестве полей тоже обьявляют статикой, поскольку они должны быть этому Майну доступны.
Вот пример: http://www.programmersforum.ru/showthread.php?t=103104
Глобальные переменные обьявляются статикой чтоб Майн их видел, потому что создать обьект такого класса не научились.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 08.05.2015, 23:08   #6
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
А исче где-то можно применять кроме классов ?
глобальные точки доступа.
пробрасывание "невидимых" связей между классами.
_Bers вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
о статических членах SAMOUCHKA Общие вопросы C/C++ 5 26.05.2014 16:36
Редактор статических отчетов. _Lamer_ WPF, UWP, WinRT, XAML 0 17.07.2012 11:59
перезагрузка статических операторов AndreyBS Общие вопросы C/C++ 10 12.05.2011 18:35
сортировка статических структур mego4el Помощь студентам 1 22.02.2011 23:17
Как вместо статических локальных переменных использовать переменные объявленные в namespace? Oleg_SK Общие вопросы C/C++ 25 05.07.2010 18:46