0
我有一個類,像這樣:堆/內存損壞恢復出廠功能右值引用時
class CObj
{
public:
CObj(std::string const& str) : m_str(str) {}
static CObj&& Current()
{
CObj uxid{"test"};
return std::move(uxid);
}
private:
std::string m_str;
};
我用它像這樣:
CObj obj{CObj::Current()};
的obj
內的std::string
損壞/無效。我期望從工廠移動臨時工並移動初始化obj
。我究竟做錯了什麼?
返回對本地的引用與左值引用一樣不如左值引用。只需返回值'static CObj Current(){return {「test」}; }'讓編譯器爲你處理移動。 – Casey 2014-10-11 00:10:16