URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3826
[ Назад ]

Исходное сообщение
"использование базового класса в качестве указателя"

Отправлено FreeGL , 14-Янв-05 18:26 
здравствуйте!
у меня вопрос :)

struct Base {...} ;
struct X { Base *b ; X(B b) :b(&b) {} } ;

X f()
{
Base b ;
return X(b) ;
}

после вызова f() на что будет указывать X::b 7
Я думаю что на свободную память т.к. для b которым
инициализируеться Х (возврощаемый f()) будет вызван деструктор.
Так ли это 7
И как можно избежать таких ситуаций 7
заранее спасибо !


Содержание

Сообщения в этом обсуждении
"использование базового класса в качестве указателя"
Отправлено Kolobok , 15-Янв-05 14:36 
Правильно думаешь. А зачем таких ситуаций избегать?
Программы, странные творения, работают не так, как хотят их создатели, а так как они написаны... (copyright не я) Увы-увы.

Создавай корректные для своей задачи объектные модели и тогда будет работать как тебе надо.