首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++ STL源代码, 看不懂, 求解释~该怎么处理

2013-01-11 
C++ STL源代码, 看不懂, 求解释~~~// MACRO _IS_YES #ifndef _IS_YES#define _IS_YES(ty)(sizeof (ty)

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的数组的引用

热点排行