C ++使用lambda函数作为模板函数专门化

时间:2017-09-22 13:45:46

标签: c++ c++11 templates lambda

是否可以使用lambda函数为模板类函数创建别名?像这样:

socket.setMaxListeners(0);

1 个答案:

答案 0 :(得分:7)

您的特定示例无法编译,如果确实存在则会很危险 - 按值捕获this意味着只要复制/移动类,捕获的this就会指向错误或无效的记忆位置。

只需使用会员功能:

auto double_10()      { return generic<calcDouble>(10); }
auto double_20()      { return generic<calcDouble>(20); }
auto multiply_10_20() { return generic<calcMultiply_10>(20); }

live example on wandbox