例如vector<int> coll
,保留int
个类型对象。如果我不知道coll
成立int
(但我知道它是向量),我将如何查找类型信息呢?
答案 0 :(得分:3)
您可以从对象的value_type
:
using value_type = decltype(coll)::value_type;
static_assert(std::is_same<value_type, int>::value, "Type is not an int");
使用using
别名和static_assert
在C ++ 11 +中可用
虽然这总是可以通过使用模板来确定(更常见):
template <class T>
void f(std::vector<T>& v); // use T as the type