Re[11]: Возвращение массива из функции
От: Alex Smirnov Россия  
Дата: 30.07.02 06:11
Оценка:
Здравствуйте santucco, Вы писали:

S>Здравствуйте Alex Smirnov, Вы писали:


AS>>Здравствуйте achp, Вы писали:


A>>>Здравствуйте Alex Smirnov, Вы писали:


AS>>>>>>>> и чем народ не устраивает просто sA* p=(sA*)new sA[count];

S>>>>>>>Я дико извиняюсь за собственную тупость — но я не понял сокровенного смысла этой конструкции

AS>>>>>> На то он и сокровенный!


AS>>>>>>Зачем нужно придумывать функцию простого выделения памяти

AS>>>>>>чтоб потом на продолжении долгого времени успешно искать ошибку
S>>>>>Ну, new [] — это не простое выделение памяти, а выделение памяти под массив элементов с вызовом конструктора по умолчанию для каждого элемента массива.
S>>>>>delete [] соответственно вызовет деструктор для каждого элемента массива и освободит выделенную память.
S>>>>>Я сокровенность преобразования sA* к sA* я все-таки не понял .
S>>>>>Если это попытка ВНЕШНЕ (то есть для успокоения зрения )привести указатель на память под массив элементов к указателю на память под элемент, то попытка эта не только наивная, но и опасная с точки зрения утечек памяти.
S>>>>>И она вовсе не дает право освобождать память, выделенную new [], с помощью delete.

AS>>>>Ну насколько я знаю компиляторы...они не позволяют без предупреждения оставлять попытки переопределения void* к указателю на другой тип !!!


A>>>А где здесь void*?


..>>> achp>> Это просто трёп? или вопрос на самом деле?

S>Я думаю, что вопрос. Мне тоже интересно, где тут void* нашелся

ДЛЯ achp и santucco популярно!!! Оператор new ВСЕГДА!!! возвращает void*
Alex
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.