我不理解 boost::python 库中的以下模板声明(准确地说是 .../boost_1_51/boost/python/detail/msvc_typeinfo.hpp 的第 47 行):
template< typename T > T&(* is_ref_tester1(type<T>) )(type<T>) { return 0; }
type
在哪里template <class T> struct type {};
它似乎在功能上等同于:
template<typename T>
struct func_type_getter {
typedef T&(*func_type)(type<T>);
};
template< typename T >
typename func_type_getter<T>::func_type is_ref_tester1(type<T>) { return 0; }
这些是等价的,只是简写,还是有人可以解释这些差异?