无操作函数模板

no-op function template

本文关键字:函数模板 操作      更新时间:2023-10-16

我需要在C++中实现一个保留所有类型扩展(const,rvalue ref,lvalue ref)的no-op。我可以执行以下操作吗?

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

并称它为喜欢

... noop (value) ...

(即使用类型推断)? 即noop (value)是否具有与value完全相同的类型?

是的,确实如此。但是,这与在客户端代码本身中调用 std::forward 没有什么不同(除了使用 std::forward 时没有自动模板参数推导)。