![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Master01 |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 89 Регистрация: 22.8.2007 Репутация: 2 Всего: 2 |
всем, привет
вот решил заняться smart pointer-ами. Нашёл замечательную книжку (хочется так думать) Джеффа Элджера и углубился в эту увлекательную область ![]() написал вот что
и
CInteger - просто некоторый класс. CPInteger - умный указатель для него. в Main пишу следуещее: CPInteger psp; psp->msgbox(); в результате чего на экране появляется соответствующий messadgebox, т.е. всё работает нормально. Далее изменяю CPInteger(см. 11 строку)
т.е. теперь перегруженный оператор -> всегда возвращает NULL, запускаю на выполнение... ВСЁ РАБОТАЕТ!!!!! ради смеха пробовал return reinterpret_cast<CInteger>(87878787) и что вы думаете? во время отладки стрелочка дебаггера благополучно перескакивает на строчку "void __stdcall msgbox() { MessageBox(NULL,"CInteger.msgbox","CInteger.msgbox",MB_OK); }" , в в окошке watches значение указателя this отображается как 53CEC83!!! т.е. там есть объект... я конечно понимаю что это smart поинтеры.. но всё ж ![]() Сильно подозреваю компилятор. использую Visual studio 2003, я в принципе на неё только пересел, может что-то не так настроил..... Добавлено через 2 минуты и 54 секунды прошу прощения! - случайно дважды создал тему) |
||||||
|
|||||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |