【发布时间】:2014-01-26 18:54:59
【问题描述】:
我已经搜索了参考资料和一般网络,但我无法找到它是否存在。
有没有办法在 C++ 中获取指向当前函数的指针?它是如此微不足道,它应该存在。
在完美的世界中,我想找到一种方法来获取当前函数的std::function,但即使是旧式指针也可以。
澄清为什么需要它:我正在考虑 Lambda 函数内部的递归,甚至是函数中的一般递归,在未来版本中更改名称的可能性很大。
【问题讨论】:
-
你可以使用函数名作为它的指针。和这个无关
-
一个函数没有实例化,所以没有
this。您仍然可以使用指向您的函数的普通指针(即使在模板化函数中也应该可以) -
我不得不说,虽然这个概念不是必需的,但我仍然喜欢这个想法。例如,递归函数不必知道自己的名称。如果你重命名它,你不必触摸函数的主体。
-
@KarolyHorvath 实际上我在考虑递归。但我会没有它。
-
@KarolyHorvath:相关:stackoverflow.com/q/21143835/560648
标签: c++ this function-pointers