读书人

C++ STL源代码 看不懂 求解释~该怎

发布时间: 2013-01-11 11:57:35 作者: rapoo

C++ STL源代码, 看不懂, 求解释~~~


// MACRO _IS_YES
#ifndef _IS_YES
#define _IS_YES(ty)(sizeof (ty) == sizeof (_STD tr1::_Yes))

typedef char (&_No)[1];
typedef char (&_Yes)[2];
#endif /* _IS_YES */

// FUNCTION _Has_result_type
_No _Has_result_type(...);

template<class _Ty>
_Yes _Has_result_type(_Ty *,
typename _Remove_reference<typename _Ty::result_type>::_Type * = 0);

#define _HAS_RESULT_TYPE(_Ty)\
_IS_YES(_STD tr1::_Has_result_type((_Ty *)0))

[解决办法]
NO:一个char元素的数组的引用
YES:数组的引用,数组包含2个char元素
[解决办法]
修正一下
typedef char (&_No)[1]; //声明符号_NO是一个元素类型为char,大小为1的数组的引用
typedef char (&_Yes)[2];////声明符号_Yes是一个元素类型为char,大小为2的数组的引用

读书人网 >C++

热点推荐