所以我期待通過一些代碼,我看到:分配一個C++出參考銷燬的東西?
class whatever
{
public:
void SomeFunc(SomeClass& outVal)
{
outVal = m_q.front();
m_q.pop();
}
private:
std::queue<SomeClass> m_q;
};
這似乎並不像outVal將是一個有效的參考更多...但是,它似乎工作。
我以前也在其他代碼中看到過,這是否有效?謝謝
我認爲這是考慮如果* *會重新安裝的參考會發生什麼有用的。如果你這樣做會發生什麼:'int&r = * new int;刪除&r;',之後'r'什麼也沒有引用。我認爲這是好的,只要你在刪除之後不再評估'r'。所以這是UB:'int&r = * new int;刪除&r; R等'。 – 2009-10-19 00:34:50