今天我退房了Stroustrup's C++11 FAQ (2013 年 4 月 7 日修改)并在类型别名部分的末尾看到:
typedef void (*PFD)(double); // C style
using PF = void (*)(double); // using plus C-style type
using P = [](double)->void; // using plus suffix return type
其中 lambda 引入器用于启动使用后缀样式返回类型的通用函数类型表达式。这是官方的,还是放弃的测试版/愿望 list 功能?如果它是官方的,它将如何用于非静态成员函数?
最佳答案
using P = [](double)->void;
不是官方的。众所周知,Bjarne 在他的常见问题解答中有点粗心。
然而,以下是有效的:
using P1 = auto(double) -> void;
using P2 = auto(*)(double) -> void;
其中P1
是函数类型,P2
是函数指针类型。也许这就是他的意图。
关于c++ - C++11 中有新的函数类型表达式格式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16291794/