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

C++中 “_ASSIGN_FROM_BASE”的有关问题

2012-03-17 
C++中 “_ASSIGN_FROM_BASE”的问题unsigned char* Findif(unsigned char* First, unsigned char* Last, byt

C++中 “_ASSIGN_FROM_BASE”的问题
unsigned char* Findif(unsigned char* First, unsigned char* Last, byte pad)
{for (; First != Last; ++First)
if (*First!=pad)
break;
return (First);
}
unsigned char* find_if(unsigned char* First, unsigned char* Last, byte pad)
{
_ASSIGN_FROM_BASE(First,
Findif(_CHECKED_BASE(First), _CHECKED_BASE(Last),pad));
return (First);
}
#define _ASSIGN_FROM_BASE(_Dest, _Src) _STD _Checked_assign_from_base(_Dest, _Src)

其中_ASSIGN_FROM_BASE(First,
Findif(_CHECKED_BASE(First), _CHECKED_BASE(Last),pad));
是什么意思?也就是_ASSIGN_FROM_BASE的意思 
另外find_if 里的return(First)的值是最开始传进去的值还是++First后改变的

[解决办法]
额 find_if 里面的return(First)的First的值是经过for (; First != Last; ++First)
if (*First!=pad)
break;
后的值。
[解决办法]
++_First这里不是已经修改了么。

热点排行