怎样动态使用内存?

yandw 2000-10-08 10:36:00
以前在C中用过联表来存放提前无法预知数目的数据,这样定义数组可靠。
现在在MFC中怎样实现同样的目的,可以不用链表吗?。
我看过heapalloc,globalalloc 等函数,好象都是一次性申请一块内存,
档数据一个的一个增加时,怎么办?
...全文
255 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gjpland 2000-11-30
  • 打赏
  • 举报
回复
CArray是一个模板类在使用时要根据具体使用的是什么类弄数组进行定义。
比如
CArray<int> darray;
for (int i=0;i<10;i++)
darray.Add(i);
或者
class A
{
};
CArray<A *> ArrayForA;
A *aPtr;
ArrayForA.Add(aPtr);
而使用也很方便只要ArrayForA[0]->....就行了。
yandw 2000-10-10
  • 打赏
  • 举报
回复
有人能看懂我程序的错误吗????????
yandw 2000-10-09
  • 打赏
  • 举报
回复
有人能看懂我程序的错误吗????????
yandw 2000-10-09
  • 打赏
  • 举报
回复
我这样定义
CArray darray;
for (int i=0;i<10;i++)
darray.Add(i);
提示如此错误:
'CArray' : use of class template requires template argument list
d:\microsoft visual studio\vc98\mfc\include\afxtempl.h(238) : see declaration of 'CArray'
ad 2000-10-09
  • 打赏
  • 举报
回复
实现机制很简单,无非是先申请一块适当大小的内存,逐步加入数据,如果用完了就再申请一块较大的,将原内存块中的数据复制过来,再将它释放。写一个类隐藏这些过程,使得你操作时只管向类中加入单词即可。
yandw 2000-10-09
  • 打赏
  • 举报
回复
Carray怎么用???
我看不懂help!!!!!!!!
yandw 2000-10-09
  • 打赏
  • 举报
回复
Carray怎么用???
我看不懂help!!!!!!!!
yandw 2000-10-08
  • 打赏
  • 举报
回复
Carray怎么用???
我看不懂help!!!!!!!!
yandw 2000-10-08
  • 打赏
  • 举报
回复
我的问题形象一点,就好象我从一篇文章中找所有的名词,并想用一个数组(或其他结构)
存放这些名词。我不可能提前直到此数组的大小,怎么办?????
xiaotiao 2000-10-08
  • 打赏
  • 举报
回复
如果你使用MFC类库,可以考虑使用CArray派生出来的类,如果没有现成的,自己派生一个也可以。

如果你不使用C++,最简单的方法就是在加入时检测一下就可以.

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧