CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何动态增加数组大小(类似与VB的redim preserve)??

楼主qaymuic(qaymuic)2002-01-24 13:10:00 在 VC/MFC / 基础类 提问

问题点数:20、回复次数:9Top

1 楼qaymuic(qaymuic)回复于 2002-01-24 13:11:39 得分 0

???Top

2 楼bzshow(风人)回复于 2002-01-24 13:56:45 得分 20

用CArray就行了呀.Top

3 楼zhh_soviet(慕容复)回复于 2002-01-24 14:24:39 得分 0

用指针,分配内存Top

4 楼listening(zqy)回复于 2002-01-24 14:29:01 得分 0

newTop

5 楼mbxxx(zhoutong)回复于 2002-01-24 14:32:10 得分 0

例如:  
  int   *p[];  
  p=new   int[ma];  
  其中ma为可变    
  用完后  
  delete   p[];  
  大体是这样;Top

6 楼sunny7516huang(蜀山剑侠)回复于 2002-01-24 14:46:56 得分 0

楼上的,不知你自己测试过没有,如果ma不为CONST类型或宏定义,就不可能通过编译!!  
  C编译器不允许定义大小不定的数组。  
  但可通过动态内存分配实现。如,  
  C   :         int   *pBuffer   =   remalloc()  
  WIN16:       GlobalAlloc()/GlobalReAlloc()      
  WIN32:       HeapAlloc()/globalReAlloc()   Top

7 楼qaymuic(qaymuic)回复于 2002-01-24 16:52:20 得分 0

有没有其他方法了?关键是之前的数据不能丢失。  
  例如:class   person  
  {public:  
  CString   name;  
  long   age;  
  }  
  person   *persons[0]=new   person;  
  persons[0].name="wang";  
  persons[0].age=32;  
  这时候要在数组里再加一个人persons[1],我该如何做而不失去persons[0]的资料?  
   
   
   
  Top

8 楼sunny7516huang(蜀山剑侠)回复于 2002-01-24 18:11:07 得分 0

直接使用集合类型类或模板即可,如   CObArray   /   CTypedPtrArray<,>Top

9 楼cmpp()回复于 2002-02-23 19:40:51 得分 0

我来学习一下!Top

相关问题

  • vb数组
  • Redim Preserve 重定义多维数组怎么不好用??
  • VB数组定义??
  • vb数组问题
  • vb.net 不支持这样重定义数组的吗 ReDim Preserve mobjTextItem(1 To i)
  • 二位数组能redim嘛‘?
  • vb中数组的传递!
  • vb中没有数组嘛?
  • vb的控件数组
  • VB 字符数组声明

关键词

  • 数组
  • persons
  • ma

得分解答快速导航

  • 帖主:qaymuic
  • bzshow

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo