小太郎*_*小太郎 18 c++ static-assert c++11
static_assert可以检查类型是否为向量?IE,一个int
会提出断言,而一个vector<int>
不会.
我正在考虑以下方面的事情:
static_assert(decltype(T) == std::vector, "Some error")
Run Code Online (Sandbox Code Playgroud)
Arv*_*vid 20
是.考虑以下元函数:
#include <stdio.h>
#include <vector>
template <class N>
struct is_vector { static const int value = 0; };
template <class N, class A>
struct is_vector<std::vector<N, A> > { static const int value = 1; };
int main()
{
printf("is_vector<int>: %d\n", is_vector<int>::value);
printf("is_vector<vector<int> >: %d\n", is_vector<std::vector<int> >::value);
}
Run Code Online (Sandbox Code Playgroud)
只需使用它作为你的表达static_assert
.
raf*_*fak 11
的C++ 0x:
static_assert(std::is_same<T, std::vector<int>>::value, "Some Error");
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6133 次 |
最近记录: |