C++新知识(二) STL源码的方法
发布时间
阅读量:
阅读量
在STL array源码中存在一个特定的方法,在此我们暂不探究其功能细节,并集中研究位于该方法之前的宏定义
_NODISCARD _CONSTEXPR17 iterator begin() noexcept
{ // return iterator for beginning of mutable sequence
return (iterator(_Elems, 0));
}
_CONSTEXPR17被定义为支持inlined形式的宏,并表明该函数采用inlined方式实现其功能。那么_NODISCARD在本上下文中的作用是什么?这里是否还能添加其他内容呢?
我们打开_NODISCARD的定义看看,代码如下
#if _HAS_NODISCARD
#define _NODISCARD [[nodiscard]]
#define _NODISCARD_PERF
#else /* ^^^ CAN HAZ [[nodiscard]] ^^^ // vvv NO CAN HAZ [[nodiscard]] vvv */
#define _NODISCARD
#define _NODISCARD_PERF
#endif /* _HA
全部评论 (0)
还没有任何评论哟~
