要解决这个问题可以去查源码,
\VC98\MFC\Include\AFXCOLL.INL的37行_AFXCOLL_INLINE int CByteArray::Add(BYTE newElement)
{ int nIndex = m_nSize;
SetAtGrow(nIndex, newElement);
return nIndex; }
看见了吗?
从m_nSize开始向后SetAtGrow,而
VC98\MFC\SRC\ARRAY_B.CPP的88行又写了一个
m_nSize = nNewSize;
这是SetSize的源码。自己编写程序时,
可以用SetAtGrow()来解决。
同时维护一个从0自加的变量。[email protected]
\VC98\MFC\Include\AFXCOLL.INL的37行_AFXCOLL_INLINE int CByteArray::Add(BYTE newElement)
{ int nIndex = m_nSize;
SetAtGrow(nIndex, newElement);
return nIndex; }
看见了吗?
从m_nSize开始向后SetAtGrow,而
VC98\MFC\SRC\ARRAY_B.CPP的88行又写了一个
m_nSize = nNewSize;
这是SetSize的源码。自己编写程序时,
可以用SetAtGrow()来解决。
同时维护一个从0自加的变量。[email protected]
解决方案 »
- 给定一个Rect,怎样才能最快绘出这样的图
- getprivateprofilestring,急求
- 哪位DX能告诉我怎样修改CSDN社区里名字后面的括号里的内容,小的新来的,不会
- 为编辑框添加那种类型的变量才能得到正确的结果
- 急问:http代理客户端的域怎么填?
- 如何判断toolbar是停靠状态还是浮动状态?
- 我要<<windows程序设计>>里的例子whatclr.exe, 50分,立刻结贴.
- MFC编程中,原本A在前,如何将B窗体设置在A窗体前显示的问题~~
- 关于MFC的大量问题答辩?
- 下面的程序是何错(关于DLL中调用对话框的实现)
- 对话框中的picture控件可以用哪些图象
- 高分请教:为何不可以直接在vc引用中断13?
请问:
很多书上说要先定义,然后setsize,免得用add时从新分给内存,使影响代码的效率......
但如你所说,这个add岂不不能与setsize连用,是不是这个setsize有问题,是不是执行他后,数组自动将其每个单元置0,以后再add,就加在其后?????