2

我需要在 C++ 中实现一个无操作,它保留所有类型扩展(const、rvalue ref、lvalue ref)。我可以这样做吗?

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 回答