在我参与的项目中,大多数都有用于为函数名称创建局部变量的样板代码。最快/最好的方法是什么?或者,是否有更快/更好的方法呢?我们确信这些功能会经常被调用,这是一个性能至关重要的项目。那么,初始化函数名称的最佳方法是什么?

我见过的一些:

/*1*/  const static std::string functionName("function1");
/*2*/  const static std::string functionName( __PRETTY_FUNCTION__ );
/*3*/  const std::string functionName("function1");
/*4*/  const char functionName [] = "function1";

编辑:我认为这很明显,但是我们使用这样的声明的原因是我们可以使用functionName变量在函数中打印出调试信息。也许它不明显的原因是因为我们没有很好地实现它。我很想听听实现此目标的其他方法。

最佳答案

C++ 11 8.4.1 / 8:

关于c++ - 样板功能名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23298586/

10-08 22:04