| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Можно ли так делать? |
| Автор: Mormishka 7.1.2011, 18:47 |
| Можно ли так выделять память для классов? class elem { } elem *m=(elm*) new BYTE[sizeof(elem)*Count]; |
| Автор: Dem_max 7.1.2011, 19:13 |
| можно |
| Автор: azesmcar 7.1.2011, 19:16 | ||
Да, через оператор new можно.
так нельзя. Но учти, память выделять можно, но использовать такой объект естественно нельзя, пока он не сконструирован. Надо вручную вызывать конструктор(ы) на выделенной памяти. |
| Автор: Mormishka 7.1.2011, 19:33 |
| [QUOTE=azesmcar,7.1.2011, 19:16] Так можно или нет? Можно использовать как массив? m[0],m[1]...m[count] |
| Автор: azesmcar 7.1.2011, 19:35 | ||
через operator new() - можно так можно, но только выделять, использовать его в дальнейшем как массив объектов нельзя, так-как это просто сырая память, объектов как таковых там нет. Добавлено @ 19:35 вот m[Count] точно нельзя посмотри пример, разъяснения в комментариях
|
| Автор: Mormishka 8.1.2011, 09:16 | ||
Что это значит?
Как сделать n*m объектов и создать двумерный массив m*n указателей на эти объекты? |
| Автор: azesmcar 8.1.2011, 14:48 |
Это инициализация члена класса i значением 10. Расскажи о задаче подробнее, с такими вопросами я засомневался, что тебе это нужно. |
| Автор: Mormishka 8.1.2011, 16:03 |
| У меня есть класс X. Я хочу создать n*m объектов класса X. Причем каждому объекту соответствует число x,y (координаты). Можно наверное сделать двумерный массив указателей на эти объекты. Как-то по-другому можно еще? |
| Автор: azesmcar 8.1.2011, 17:39 | ||
|