MFC中的CArray函数中,有一个RemoveAll()操作。

请问:这个RemoveAll能删除数组中所有的元素,那么这个动态数组是不是也被删除了呢?为什么我用了RemoveAll()之后,这个动态数组就不能用了呢?CArray<d... 请问:这个RemoveAll能删除数组中所有的元素,那么这个动态数组是不是也被删除了呢?为什么我用了RemoveAll()之后,这个动态数组就不能用了呢?
CArray<double,double&>m_Crray;
CArray<double,double&>m_Drray;
m_Crray.SetSize(370000);
m_Drray.SetSize(70);
double Btime3,Btime2,Widthguangban;
for(int Widthr=20;Widthr<=80;Widthr++)
{
for(int stime4=int(Btime3*3600);stime4<=int(Btime2*3600);) {
Widthguangban=fabs(EMBx-EMAx);
m_Crray[i2]=Widthguangban;
stime4=stime4+6;i2=i2+1;
}
double Max1,Min1;int k1=0,m1=0; Max1=m_Crray[0];Min1=m_Crray[0];
for(k1=0;k1<n;k1++)
{
if(m_Crray[m1]>Max1)
{
Max1=m_Crray[m1];
}
if(m_Crray[m1]<Min1)
{
Min1=m_Crray[m1];
}
m1=m1+1;}
m_Drray[i3]=Max1; i3=i3+1;
m_Crray.RemoveAll();
或者m_Crray.RemoveAt(0,m_Crray.GetUpperBound());
}
上面Btime2,Btime3,Widthguangban,EMBx,EMAx都是一些变量,在其他函数内可以求得的,因为太长了,就不贴上来了。
劳烦您看的累点,百度说太长了,我就缩短右缩短,不好意思了。
展开
 我来答
poseidon_k
2012-09-17 · TA获得超过2580个赞
知道小有建树答主
回答量:1223
采纳率:0%
帮助的人:311万
展开全部
RemoveAll清除所有元素,释放掉元素占据的内存,在添加新的元素之前,当然不能进行任何读取操作。
更多追问追答
追问
但是我已经添加新的元素了,要不你帮我看下代码吧,可以吗?但是我用RemoveAt(),也不能用了,请问是一个道理吗?那如果我想把里面的元素全清理掉,但是让这个动态数组还能继续使用,应该怎么办?前辈要帮帮我啊,这个问题弄了1天了。
追答
别着急,我仔细看看哈,稍等
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式