type_traits 获取指针指向值的类型

在中文标准库中这一部分被叫作编译时类型信息

中文标准库

type_traits的一个简单应用:获取指针指向值的类型

C++模板template

#include <iostream>

template <typename T>
struct MyStruct
{
	//typedef typename T::value_type VT;                     //如果T是指针类型,这句代码无法获取指针指向的数据类型,报错
	typedef typename std::iterator_traits<T>::value_type VT; //使用iterator_traits可以获取指针指向的数据类型
};

template <typename T>
void fun(T p)
{
	std::cout << *p;
}

int main()
{
	std::true_type s;
	int arr[] = { 1,2,3 };
	fun<int*>(arr);

	//MyStruct<int*>::VT s = 7;
	//std::cout << s;

	int test = 0;
}
原文地址:https://www.cnblogs.com/mmmmmmmmm/p/15577773.html