我刚刚在阅读Qt4源代码时发现,在qstring.h(和其他位置)中多次出现了预编译器定义Q_REQUIRED_RESULT
。
它实际上是做什么的,为什么没有文档介绍(应该放在这里)?
它的定义如下:
#ifndef Q_REQUIRED_RESULT
# if defined(Q_CC_GNU) && !defined(Q_CC_INTEL) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 1))
# define Q_REQUIRED_RESULT __attribute__ ((warn_unused_result))
# else
# define Q_REQUIRED_RESULT
# endif
#endif