动态变长数组如何实现 要求是这样。每隔1s,给一个数组尾部赋值一个值。这样在完全不知道数组会有多长的情况下,应该怎么样申请内存空间呢。每隔1s给这个数组多一个内存空间吗?这个实现好像只能先删除之前申请的空间,然后申请新的空间,这样之前的数据还需要重新赋值,这样在数据较多时,效率会非常的低。想问,应该如果实现这个功能呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你就用动态数组好了。CArray,CList都可以啊。 动态数组应该不行吧,随着时间的增加来增加的数组用动态数组应该会很麻烦。CAarray我看了一下,应该是可以的。CList我也有想过,只是觉得有些牛刀的感觉,所以问出来想学一些新的方法 用CAarray就可以,CAarray是每次分配一块内存,应该是这样吧?CAarray添加数据前先看现有的内存是否够,如果够则直接算出地址然后赋值,如果不够则另外分配一块内存并加一个链表中保存,然后再算出地址赋值。不管是ATL还是STL都有类似的用法,C#中也是CList这种原理。 mfc使用Ntgraph控件画实时曲线,怎样实现坐标轴的实时缩放?求高手解答!!不甚感激!!! IE 的二次开发 如何使用VS编写COM程序? MSDN2001安装后,安装程序不能删除么? Progressdlg进度条对话框的create问题 请问哪里有最新SDK下载! 如何往文本编辑框中送入多行数据? 注册Com+组件的问题 winnt workstation 4.0 怎么修改temp 目录 求教用Vc++编写手机短信软件的思路和方法。 MFC ADO连接远程的数据库 播放器的快进怎么实现的
动态数组应该不行吧,随着时间的增加来增加的数组用动态数组应该会很麻烦。CAarray我看了一下,应该是可以的。CList我也有想过,只是觉得有些牛刀的感觉,所以问出来想学一些新的方法
CAarray添加数据前先看现有的内存是否够,如果够则直接算出地址然后赋值,如果不够则另外分配一块内存并加一个链表中保存,然后再算出地址赋值。
不管是ATL还是STL都有类似的用法,C#中也是CList这种原理。