
void operator()(T *src_first, T *src_last, T *dest){int len = src_last - src_first;dest += len - 1;src_last -= 1;while (len--){*dest = *src_last;--dest;--src_last;}}
- 注意
main()函数中调用的模板参数是int和string,所以重载()函数的时候,T应该是一个指针 - 要从后往前copy,不然就会造成
GoodCopy<int>()(a, a+m, a+m/2);出错 src_last一定要-1,毕竟是一个开区间
