指针++问题
OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result )
{
while (first!=last) *result++ = *first++; return result;
}
迭代器result++后是不是已经不是刚开始的result指向的位置了,我觉得该函数应该return result-n,n为串的长度。
各位高手,请解答小弟心中的疑问
[解决办法]
可能你还没理解后缀表达式++
我觉得该函数应该return result-n,n为串的长度。
你想返回这个result?
那么:
OutputIterator copy ( InputIterator first, InputIterator last, OutputIterator result ){ OutputIterator change = result; while (first!=last) *change++ = *first++; return result;}