编译器关键字整理笔记

大家根据自己的代码情况和设计需求合理使用~!

attribute((warn_unused_result)):

如果函数的返回结果没有被使用,那么编译器就会发出警告.

example:

#if !defined(WARN_UNUSED_RESULT)
#if defined(__GNUC__)
#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
#else
#define WARN_UNUSED_RESULT
#endif
#endif  // WARN_UNUSED_RESULT

class A {
 
public:
    A& getA() WARN_UNUSED_RESULT {
        return *this;
    }
    int v;
};

编译器关键字整理笔记_第1张图片

2.attribute((lockable))
和锁相关,只用来struct / union /class

你可能感兴趣的:(c/c++/c++,11)