c++ __PRETTY_FUNCTION__
时间: 2023-10-22 10:09:56 浏览: 41
`__PRETTY_FUNCTION__` 是一个宏,用于获取当前函数的可读性更好的字符串表示。它在 C++ 中被定义,并且包含了函数的名称和参数类型信息。这个宏在编译时会被替换为一个字符串,因此可以在运行时获取函数名。
请注意,`__PRETTY_FUNCTION__` 在 C 中是不可用的,但可以使用 `__func__` 宏来获取当前函数的名称。
相关问题
C++ __FUNCTION__
在C++中,__FUNCTION__是一个预定义的宏,用于返回当前函数的名称作为一个字符串常量。它可以用于调试和错误处理,以便在程序崩溃时确定程序中的错误位置。以下是一个简单的例子,演示如何使用__FUNCTION__宏:
```c++
#include <iostream>
void printFunctionName() {
std::cout << "Current function is: " << __FUNCTION__ << std::endl;
}
int main() {
printFunctionName();
return 0;
}
```
输出结果为:
```
Current function is: printFunctionName
```
__PRETTY_FUNCTION__
__PRETTY_FUNCTION__是一个宏,用于返回函数的详细信息,包括函数所属的类等信息。它与__func__和__FUNCTION__不同,后两者仅返回函数的名称,而__PRETTY_FUNCTION__返回更详细的信息。
在引用的例子中,可以看到使用__PRETTY_FUNCTION__时,输出的结果是"void MyClass::Class_Function()",其中包含了函数所属的类名和函数的参数信息。而使用__func__和__FUNCTION__时,只能得到函数的名称,无法获取其他详细信息。
因此,如果你需要获取函数更详细的信息,包括函数所属的类等信息,可以使用__PRETTY_FUNCTION__宏。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [__func__,__FUNCTION__,__PRETTY_FUNCTION__的区别](https://blog.csdn.net/CFH1021/article/details/121372590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [__PRETTY_FUNCTION__, __FUNCTION__, __func__ 在C/C++中的差异?](https://blog.csdn.net/weixin_40463424/article/details/124566427)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]