2

すべての型拡張 (const、rvalue ref、lvalue ref) を保持する C++ でノーオペレーションを実装する必要があります。以下のようにすればよいでしょうか?

template<class T>
T && noop (T && t) { return std::forward<T> (t); }

そしてそれを次のように呼び出します

... noop (value) ...

(つまり、型推論を使用しますか)? つまり、 ?noop (value)とまったく同じタイプです。value

4

1 に答える 1

3

はい、そうです。ただし、クライアント コード自体で std::forward を呼び出すことと同じです (ただし、std::forward ではテンプレート引数の自動推定は行われません)。

于 2012-11-29T08:06:24.343 に答える