реклама на сайте
подробности

 
 
> Тонкости С++, Конструирование массива объектов
oran-be
сообщение Nov 12 2007, 12:06
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Такой вопрос - есть объект в виде задекларированного класса. Необходимо иметь массив такого типа объектов. Как правильно сконструировать массив?
есть подозрение, что опрерация
OBJECT* pObject = (OBJECT*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(OBJECT)*SIZE_AREA_OBJECTS);
приведет лишь к конструированию только первого объекта и последующий вызов

pObject[2]->ObjectFunction(a, b, c);
приведет к сбою программы.

Так же и оператор new. Кто то знает подробно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Juggernaught
сообщение Nov 21 2007, 11:20
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 1-03-06
Пользователь №: 14 839



Ни HeapAlloc, ни malloc, ни calloc никакие объекты не конструируют никогда - они тупо выделяют память заданного размера. Динамически конструирует ТОЛЬКО new!
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 21 2007, 14:56
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Цитата(Juggernaught @ Nov 21 2007, 15:20) *
Ни HeapAlloc, ни malloc, ни calloc никакие объекты не конструируют никогда - они тупо выделяют память заданного размера. Динамически конструирует ТОЛЬКО new!

Спасибо за "ценное" замечание. но было бы странно требовать от С-шных функций, при условии, что С -не объектно-ориентированный язык, конструирования объектов.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 21 2007, 15:10
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(oran-be @ Nov 21 2007, 17:56) *
Спасибо за "ценное" замечание. но было бы странно требовать от С-шных функций, при условии, что С -не объектно-ориентированный язык, конструирования объектов.


Хм... Странно, конечно, но разве не именно вы написали про конструирование плюсового объекта сишной функцией в своем самом первом посте?


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
oran-be
сообщение Nov 21 2007, 15:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 234
Регистрация: 30-03-07
Из: Одесса
Пользователь №: 26 621



Цитата(Oldring @ Nov 21 2007, 19:10) *
Хм... Странно, конечно, но разве не именно вы написали про конструирование плюсового объекта сишной функцией в своем самом первом посте?

Я как раз и выразил сомнение по этому поводу. Я просто не знал, как правильно воспользоватся опрератором new для создания массива объектов, кроме как создать цикл по конструированию объектов, что было бы несколько неэлегантно.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016