作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑 this solution减少 __PRETTY_FUNCTION__
的输出。该解决方案删除了返回类型、参数和修饰符。
我想知道以下修改是否适用于任何情况:
inline std::string methodName(const std::string& prettyFunction) {
size_t parenthesis = prettyFunction.find("("); //Then I can use parenthesis index as end for my string
size_t begin = prettyFunction.rfind(" ",parenthesis) + 1;
(...)
}
也就是说,我想了解返回类型(或其他任何东西,在 __PRETTY_FUNCTION__
返回的字符串中,在函数名称的左侧)是否有可能包含一个左括号 (
我实现了a different way中的方法.
最佳答案
是的,可以有其他括号。这是一个例子:
#include <iostream>
using fptr = void(*)();
fptr func() {
std::cout << __PRETTY_FUNCTION__ << '\n';
return nullptr;
}
int main()
{
func();
}
使用 g++ -std=c++14 的输出是:
void (* func())()
关于c++ - __PRETTY_FUNCTION__ : Can a return type contain parentheses?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29777059/
我是一名优秀的程序员,十分优秀!