2013-03-01から1ヶ月間の記事一覧

多重定義された関数で C++11 の Perfect Forward を使ってはいけない

C++11で新たに加わった Perfect Forward は,非常に便利な機能である. template<class T> void f(T && x) { g(std::forward<T>(x)); // 別の関数 g に処理を丸投げする } しかしこれは,多重定義された関数で使われた場合,予期せぬ挙動を示すことがある. 例を見てみよ</t></class>…