Здравствуйте, pavel_turbin, Вы писали:
_>
_>struct ABC
_>{
_> int &a;
_>};
_>
_>может ли существовать такой тип ABC, вообще? Если программист "с лету" говорит "Да, проблем нет." Тогда что делать с правилом инициализации ссылки? Тут можно многое спросить еще, про дефолтный конструктор, как его генерируют и пр. Такие вопросы нужны что-бы отфильтровать шлак и посмотреть видел ли человек C++ вообще.
мы тут на днях встретили в одной библиотеке такой перл:
class Foo;
class A {
public:
A(Foo&);
A();
void do_something();
private:
Foo& m_foo;
bool m_is_foo_ok;
}
A::A(Foo& foo)
: m_foo(foo)
, m_is_foo_ok(true)
{}
A::A(Foo& foo)
: m_foo(*NULL)
, m_is_foo_ok(false)
{}
и тереь внимание в студии, самая главная часть перла:
void A::do_something()
{
if (m_is_foo_ok){
m_foo.do_something();
} else {
// TODO хм.. надо будет подумать как обрабатывать эту ситуёвину
}
}
а средства языка ИМХО знать надо.