请问用NEW的方法能不能扩充数组长度?

chaojkl 2007-04-15 12:57:03
int * a=int new[10];
a=int new[20];
这样能不能保证a所指向的内存空间得以扩充,且保证旧的内存空间内容保持不变。即相当于c中malloc 与 realloc的功能,谢谢!
...全文
275 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chaojkl 2007-04-16
  • 打赏
  • 举报
回复
看来数组是没有vector好用的,我知道用vector的resize可以解决此问题,我只是想探讨一下数组如何才能扩充的问题而已,要知道其他语言如delphi等都能实现此功能的。
而且用placement new 好像也不太安全的。
snprintf 2007-04-15
  • 打赏
  • 举报
回复
用 placement new 可解决此问题.
maxlcl 2007-04-15
  • 打赏
  • 举报
回复
不行,只能先把这个指针赋给另外一个指针,然后用新申请的内存再获得这些值!
我觉得是这样子的!
iambic 2007-04-15
  • 打赏
  • 举报
回复
何必自己控制内存。
iambic 2007-04-15
  • 打赏
  • 举报
回复
用std::vector。
taodm 2007-04-15
  • 打赏
  • 举报
回复
你参看一下realloc的源码就知道了。

65,213

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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