エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
Perfect Fowardingとは何か
Perfect Fowardingとは、関数テンプレートの引数としてのリファレンスを、別の関数に渡す際のテクニック... Perfect Fowardingとは、関数テンプレートの引数としてのリファレンスを、別の関数に渡す際のテクニックである。ふたつの問題がある。 名前のついたrvalueリファレンスの変数はlvalueである。 int && r1 = 0 ; int && r2 = r1 ; // エラー、r1はlvalue これは当然である。なぜならば、rvalueリファレンスは、rvalueを束縛して、lvalueのように使うリファレンスである。リファレンスが勝手に、rvalueとして認識されてしまっては困る。もし、rvalueとして使いたい場合は、明示的なキャストが必要である。 int && r1 = 0 ; int && r2 = std::move( r1 ) ; // OK また、以下の様な形の関数テンプレートを宣言するとき、 template < typename T > void f( T