c++ - C++11 中有新的函数类型表达式格式吗?

标签 c++ c++11 function-prototypes

今天我退房了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/

相关文章:

c++ - 作为数组的函数参数传递的初始化列表

c - 使用此规范声明函数

c++ - OpenGL 旋转 - 本地轴与全局轴

c++ - 将字符串中的每个字符转换为 ASCII

c++ - 从 CSV C++ 中提取 double 值时出现意外结果

eclipse - Eclipse CDT无法解析的原子类型

c++ - 统一初始化int* : how can it be forced?

JavaScript 扩展类型返回

c - 定义和使用函数指针类型来引用具有不同枚举类型参数的函数

c++ - 作为主窗体的对话框资源