这个 static_assert 会被触发吗?
template::type Min_Range, typename Best_Fit::type Max_Range> auto operator+(Integral left,const Int& right) ->Int { static_assert(std::is_in…
是否有编译时函数/宏来确定 C++0x 结构是否是 POD?
我想要一个 C++0x static_assert 来测试给定的结构类型是否为 POD(防止其他程序员无意中与新成员打破它)。即, struct A // is a POD type { int x,…
C++11: static_assert() 中的 std::max(a,b)?
我注意到,在最后一个 C++-Std Doc N3291 max 的 [24.4.7] 中,它不是 constexpr: template const T& max(const T& a, const T& b); 因此,不允许在 …
static_assert 可以检查类型是否是向量吗?
static_assert 可以检查类型是否是向量吗? IE 中,int 会引发断言,而 vector 则不会。 我正在考虑以下内容: static_assert(decltype(T) == std::ve…
为什么更喜欢基于模板的静态断言而不是基于 typedef 的静态断言?
对于 C++ 版本,有两种广泛使用的静态断言实现没有内置的static_assert。 第一个用于 Boost 并使用模板和该模板的专门化: template struct static_as…
结构内部允许静态断言吗?
我有几个模板设置结构,可以在这些结构中使用静态断言吗? template struct Settings{ static const int n = N; STATIC_ASSERT(n == 5); typedef type…
在 static_assert 输出中集成类型名称?
我喜欢提供有用的错误/消息,并且我也想为我的 static_assert 这样做。问题是,它们依赖于模板参数。通常,由于引发的错误,这些参数将显示在路上或其…
如何静态检查两个比率是否相等?
我有 4 个 int 常量: const int a1 = 1024; const int a2 = 768; const int b1 = 640; const int b2 = 480; 我想静态检查它们是否具有相同的比率。为…
将字符串文字添加到 static_assert
有没有办法结合 static_assert 的输出?我的意思是这样的: template struct X { static_assert(std::is_signed::value, "Type " + T + " must be sig…
如何静态断言指针转换是微不足道的?
假设我有以下类型: struct A { int a; }; struct B { int b; }; struct C : public A, public B { int c; }; C* 指针可以转换为 A* 指针,而根本不需…
decltype 的另一个问题
template struct X { static_assert(std::is_same::value,"Different types not allowed");//this should give error if types are different decltyp…
static_assert 中的 decltype
为什么类定义中的 this (static_assert) 不起作用? template struct X { static_assert(std::is_same::value,"Different types not allowed"); }; in…