宏替换功能,用于自动完美转发

时间:2017-11-13 16:19:01

标签: c++ c++11 macros perfect-forwarding

我经常使用这个宏来完美地转发参数,而不必知道参数的类型:

#define FORWARD(a) std::forward<decltype(a)>(a)

我现在想要摆脱宏,因此我正在寻找c ++中函数的等价定义,它可以与宏交替使用。

这可能是一个简单的例子,但是对于记录:我希望这样的代码能够使用Param{A,B}的任意类型正确编译 - 而不必在任何地方使用扩展形式(如std::forward<decltype(a)>(a))。

decltype(auto) operator Op(ParamA a, ParamB b) {
    return Forward(a) Op Forward(b);
}

提示:this question

的副本

0 个答案:

没有答案