Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[54.196.52.45] |
|
Сообщ.
#1
,
|
|
|
Требуется примерно следующее:
#if int_variable_initialized_above=260 Class global_Object = new Class[260] #else Class global_Object = new Class[0] #endif Можно, конечно, создать класс безразмерный, потом убить его и создать именно с той размерностью, с которой нужно. Однако и так костылей много - не хочется еще 1. |
Сообщ.
#2
,
|
|
|
std::vector<Class global_Object> my_class;
|
Сообщ.
#3
,
|
|
|
Цитата Сергей85 @ #if int_variable_initialized_above=260 Class global_Object = new Class[260] #else Class global_Object = new Class[0] #endif Ну, во-первых, массив размером в 0 объявить не получится. Во-вторых, что мешает сделать: const int int_variable_initialized_above = 260; std::vector<Class> global_Object(int_variable_initialized_above == 260 ? 260 : 0); |
Сообщ.
#4
,
|
|
|
Сергей85
Как это функций ещё нет? Они всегда есть: Class InitGlobalObject(int param); ... Class global_Object = InitGlobalObject(int_variable_initialized_above); ... Class InitGlobalObject(int param) { // Любая логика инициализации тут } |
Сообщ.
#5
,
|
|
|
В общем, все проще. Class Object[260+variable]. Ну, массив побольше, чем надо - просто не буду вылезать за нужные пределы.
|
Сообщ.
#6
,
|
|
|
Цитата Сергей85 @ В общем, все проще. Это не "проще" - это костыль. И так костылей много (С) ... Зачем тебе еще один? Пользуйся векторами, они экономичнее - можно не резервировать память до момента фактического использования. |
Сообщ.
#7
,
|
|
|
тс на своей волне. в который раз лепит какую-то хню, выдавая это за разумное решение. я бы такие темы чикал
Добавлено зыЖ конкретный вопрос вообще чисто к сям относится. |