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