C++ :Ссылка на объект «вне области видимости»

Есть одна вещь, которую я никогда не понимал в отношении ссылок, и я надеюсь, что она может мне помочь. Насколько я знаю, ссылка не может быть нулевой. Но что произойдет, если у вас есть функция foo (), возвращающая ссылку на объект стека:

Object & foo(){
    Object o;
    return o;
}

Object & ref = foo();

Теоретически ref будет ссылаться на несуществующий объект, поскольку o выходит за пределы области видимости, как только функция возвращается. Что тут происходит?

7
задан Sebastian Hoffmann 30 March 2012 в 10:46
поделиться