如何解决这行 stl 源代码integral_constant 部分是干什么用的?
/// integral_constant
template<typename _Tp,_Tp __v>
struct integral_constant
{
static constexpr _Tp value = __v;
typedef _Tp value_type;
typedef integral_constant<_Tp,__v> type;
constexpr operator value_type() const noexcept { return value; }
#if __cplusplus > 201103L
#define __cpp_lib_integral_constant_callable 201304
constexpr value_type operator()() const noexcept { return value; }
#endif
};
template<typename _Tp,_Tp __v>
constexpr _Tp integral_constant<_Tp,__v>::value;
我看不懂这条线有什么作用
constexpr _Tp integral_constant<_Tp,__v>::value;
为什么在global中声明时没有错误如下:
struct test
{
static const int a = 1;
};
const int test::a;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。