0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 23
|
||||||
1 | ||||||
Как получить объект (не указатель), используюя перегруженный new?21.01.2013, 12:07. Показов 1159. Ответов 6
Метки нет (Все метки)
Например, этот код показывает, что мы получаем указатель, а не объект. В итоге потом неудобный синтаксис ("->" вместо "."), невозможность использовать ссылки. Ну и главное: при выходе из функции не вызывается деструктор!
0
|
21.01.2013, 12:07 | |
Ответы с готовыми решениями:
6
Как получить указатель на объект класса CDocument Как получить указатель на объект класса из списка std::list? Что значит константный указатель на объект, указатель на константный объект, и как это можно использовать? Как использовать перегруженный оператор [ ], если дан не сам класс, а указатель на него? |
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
|
|
21.01.2013, 13:13 | 2 |
Во-первых, сказал new -- говори и delete! ++ освобождение памяти не обеспечивает!
Во-вторых, ежли описываешь свой operator new -- пиши и operator delete. В-третьих, operator new[] для выделенных объектов вызывает конструктор без параметров. Лучше написать хоть чего-нить.
0
|
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 23
|
|
21.01.2013, 13:58 [ТС] | 3 |
iifat, delete я размеется напишу (уже написал).
Но смысла вопроса это не меняет: у меня вместо полноценного объекта указатель. Как получить полноценный объект?
0
|
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 23
|
|
21.01.2013, 16:52 [ТС] | 5 |
Полноценный, это значит такой же как обычно. В общем создал ссылку на разъименованный указатель.
0
|
2719 / 1773 / 187
Регистрация: 05.06.2011
Сообщений: 5,132
|
|
21.01.2013, 16:57 | 6 |
У тебя указатель на вполне полноценный массив предельно полноценных объектов. Получить объект из указателя можно, как уже сказали, разыменованием.
И, таки повторюсь: твой конструктор не вызывается потому что оператор new[] вызывает конструктор без операндов; деструктор не вызывается, поскольку нужно явно вызвать delete[] для указателя.
0
|
Неэпический
|
|
22.01.2013, 02:51 | 7 |
И чем данный объект отличается от полноценного? Вы вообще представляете что такое объект?
0
|
22.01.2013, 02:51 | |
22.01.2013, 02:51 | |
Помогаю со студенческими работами здесь
7
Как получить ссылку на указатель или указатель на указатель в массиве? Получить указатель по ссылке на объект и наоборот Как преобразовать ссылку на объект в указатель на этот объект? Как получить указатель на управляемый объект? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |