gpt4 book ai didi

c++ - 可以使用 C++11 decltype 为现有函数的函数指针创建 typedef 吗?

转载 作者:IT老高 更新时间:2023-10-28 12:42:39 27 4
gpt4 key购买 nike

给定

struct A { 
int foo(double a, std::string& b) const;
};

我可以像这样创建一个成员函数指针:

typedef int (A::*PFN_FOO)(double, std::string&) const;

很简单,只是如果 A::foo 的签名发生变化,则需要更新 PFN_FOO。由于C++11引入了decltype,是否可以用来自动推导出签名并创建typedef?

最佳答案

是的,当然:

typedef decltype(&A::foo) PFN_FOO;

您也可以通过 using 定义类型别名关键字(感谢 Matthieu M.):

使用 PFN_FOO = decltype(&A::foo);

关于c++ - 可以使用 C++11 decltype 为现有函数的函数指针创建 typedef 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13089067/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com