摘要:
最近在看《STL源码剖析》,关于C++类型萃取的问题看了几天,感觉还是有些疑惑。 如果在C++中声明一个“以迭代器所指对象的类型”为类别,应当如何做。C++只支持sizeof(),并未支持typeof()!即便动用RTTI性质中的typeid(),获得的也只是型别名称,不能做变量声明只用。 可以利用function template的参数推导(argument deducation)机制。 1 template <class T> 2 struct MyIter { 3 typedef T value_type; 4 T* ptr; 5 MyIter(T* p=... 阅读全文