读书人

.c++解决方法

发布时间: 2012-03-29 12:53:13 作者: rapoo

...c++
#include <iostream>
#include <algorithm>
using namespace std;
void main ()
{
int a[4]={1,3,2,4},b[]={6,8,0},e[4];
copy(a,a+4,b);
reverse_copy(b,b+4,e);
copy(e,e+4,ostream_iterator<int>(cout,"\n"));
copy(b,b+4,ostream_iterator<int>(cout," "));

}

为什么b的地址小于a的 但是可以将a复制到b里面,并且全值输出呢???


[解决办法]
你可以看看copy函数是怎么定义的?
去调试下,看下a[3]是否被存储在了数组b地址的后面···
[解决办法]
为什么b的地址小于a的 但是可以将a复制到b里面,并且全值输出呢
你的挎贝越界了都,全部输出是因为越界的那个单元你也拿来用了。


[解决办法]

探讨
C语言或C++中有copy()这个库函数吗,我感觉好像没有

不知道你的copy函数是怎么定义的,跟你的copy函数有关

[解决办法]
单步调试了下 ,b[3]正好为 a数组的首地址,所以能复制成功。。

读书人网 >C++

热点推荐