std::forwardはテンプレート引数に対して使うものなので、ここで示した使い方は流儀に反するのかもしれません。
クラスfooのコンストラクタにクラスbarのオブジェクトを渡す。
このとき、std::moveで渡す場合(check_move_0)と、値で渡す場合(check_move_1)を比較する。
出力:
19行目のstd::forwardのおかげで、必要最低限のコピーで済むことがわかる。
std::forwardを使わず、bar_(b)と書くと以下のように不必要なコピーが行われる。
参照サイト
0 件のコメント:
コメントを投稿