![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| maths_fan |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 28.2.2004 Где: г. Москва (curren t), г. Кисловодск (hom etown) Репутация: нет Всего: нет |
Достаточно распространённый вопрос, но в F.A.Q. я такого не нашла, так что теперь смело задаю
Каков смысл перегрузки оператора ->? Может кто-нибудь может привести конктретный пример, иллюстрирующий нужность этого действия. Ещё инетесует перегрузка другого оператора, а именно new(). Оказывается, что этот оператор сперва вызывает так называемую "allocation function" (выделяет память), а потом конструктор. Так вот "allocation function" можно вызвать вручную, написав operator new, пример class A { public: A() { } } *a; a = operator new(sizeof(A)); Но, когда происходит перегрузка оператора new(), то передаётся постоянный параметр size_t size и другие параметры, однако можно без них. Вопрос такой: можно ли перегрузить "allocation function", указав только один параметр (size_t size)? |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 27 Всего: 49 |
Перегрузка операторов operator* и operator-> используется при написании "умных указателей". Очень важный пример. Второй вопрос не понял. Перегружается ведь сам оператор new. А как вы там память будете распределять - это вам решать.
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |