读书人

C++中 “_ASSIGN_FROM_BASE”的有关问

发布时间: 2012-03-17 19:06:27 作者: rapoo

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这里不是已经修改了么。

读书人网 >C++

热点推荐