为什么__PRETTY_FUNCTION__被称为__PRETTY_FUNCTION__?

时间:2012-05-02 20:55:51

标签: c++ objective-c gcc

我看到__PRETTY_FUNCTION__在本网站上的问题答案中使用了很多,我理解这个函数的用处,但为什么它被称为__PRETTY_FUNCTION__呢?这不是一个丑陋的功能,但也不是很漂亮。

3 个答案:

答案 0 :(得分:8)

我认为它被称为__PRETTY_FUNCTION__,因为它是“装饰的”__FUNCTION__(至少在C ++中,在C中它们都是等价的)。在C ++中,还会显示返回类型和参数类型。

请注意,__PRETTY_FUNCTION____FUNCTION__都不是C而是GNU C. __func__是C.

答案 1 :(得分:2)

它可能源于表达式" pretty-print",意思是纯文本文件(如程序源)的风格格式。

请参阅http://en.wikipedia.org/wiki/Prettyprint

答案 2 :(得分:1)

这是GCC中的一个构造,它在C ++中输出函数的类型签名,并且与C中的__func__同义:

http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html