C++11でムーブもコピーもできないオブジェクトを扱う方法についてメモ。(エッセンスのみ。詳説は元記事を) 実は C++0x では、こういう「コピーもムーブも出来ないオブジェクト」であっても、 uniform initialization を使えば、関数から返すことができるようになったのです: person make_charactor() { return { "Chiffon Schroedinger", 14 }; } これを行うには、「該当するコンストラクタが explicit 指定されていないこと」という条件こそありますが、コピー出来る/出来ない、ということに関しては、特に条件はありません。 http://d.hatena.ne.jp/gintenlabo/20101211/1292088788 Uniform initialization@return文+rvalue refe