Предположим, у меня есть класс с дорогим конструктором, и, скажем, мне не нужно создавать конструктор, потому что он «прост». Внутри класса я хочу поставить typedef. Все вместе, это выглядит следующим образом:Typedefs внутри класса
class Expensive {
public:
typedef double data_type;
data_type data[100000][100000];
};
Теперь в моем вызывающем коде, если я:
Expensive::data_type singleValue;
, что собирается создать временный экземпляр Expensive
и выделить все это пространство для данных просто чтобы получить доступ к typedef?
Удачи, выделяя это на стеке. Кстати, почему бы вам не написать данные data_type [100000] [100000]; '? –
Это был надуманный пример, чтобы подчеркнуть вопрос; если бы я использовал компилятор Intel и действительно хотел, чтобы это сработало, есть флаг, чтобы поместить все массивы в кучу в любом случае. Или 'ulimit' мой стек неограниченно. – tpg2114
Хорошо, но это немного глупый пример, так как (а) это плохой код и (б) он не будет работать в большинстве конфигураций –