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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Pravednik
0 / 0 / 0
Регистрация: 29.11.2011
Сообщений: 13
#1

static const? - C++

15.04.2013, 01:47. Просмотров 718. Ответов 2
Метки нет (Все метки)

если мне нужна константа в классе, как ее лучше объявить со static или без? разница будет только в том, что со статиком мне можно будет значение получать без объекта класса и все?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 01:47
Здравствуйте! Я подобрал для вас темы с ответами на вопрос static const? (C++):

static const - C++
объясните, пожалуйста, вот такую странную конструкцию (накопал в старой проге): после #include идет следующее: static const char...

static и const - C++
static void A(); Что дает этот статик? Что он вообще дает? int A() const; Что дает конст в данном случае? static int...

const static vector<type> - C++
Мне нужно создать внутри класса вектор цветов предлагаемых в конструкторе как дефолтные... лучше static, лучше const... главное - чтобы...

#define PI or static const float PI - C++
Что лучьше обьясните? #define PI 3,14159265 или static const float PI=3,14159265;

Что такое static const и для чего он нужен? - C++
Что такое static const ? И для чего он нужен ?

Инициализация в объявлении константных статических (const static) членов-данных класса. - C++
Привет. Подскажите пожалуйста почему нельзя создавать в классе const static float, а const static int можно? class A{ const...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
abit
264 / 262 / 33
Регистрация: 03.02.2013
Сообщений: 730
15.04.2013, 03:44 #2
мне можно будет значение получать без объекта класса и все?
что? это откуда вы взяли? идея близка, но опорная логика немного другая...

static - переменные реально не входят в класс вообще (и в sizeof(myclass) в частности), это как бы глобальная переменная, разница от глобальной только в одном - она в области видимости класса, для этого собстна она и нужна, чтобы быть глобальной общей переменной для всех объекта класса и при этом не засорять глобальное пространство имен

если у вас не совсем экзотическое использование const-объекта и он общий для всех объектов класса - выгоднее создать static const - хотя бы потому, что каждому новому объекту класса будет выделяться меньше памяти
0
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
15.04.2013, 11:37 #3
Цитата Сообщение от abit Посмотреть сообщение
static - переменные реально не входят в класс вообще
В класс входят, не входят в экземпляр класса.
В остальном почти согласен
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2013, 11:37
Привет! Вот еще темы с ответами:

int const * const foo(const int* param) const - разъясните значение квалификаторов - C++
int const * const foo(const int* param) const -----1------2----------3----------------4 1: ? 2: делает содержимое массива или...

Ошибка компиляции "forbids in-class initialization of non-const static member" - C++
Доброго времени суток! Прошу помощи, так как сам понять в чем проблема не могу. Имею вот такой код: #include &quot;iostream&quot; ...

char operator[](unsigned short offset) const; // что означает const? - C++
Собстенно вопрос уже озвучен :).

Что это bool operator== (const CLASS&) const; - C++
Что это? class CLASS { public: bool operator== (const CLASS&amp;) const; ...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru