社区
C++ 语言
帖子详情
c++ 中 使用new生成array的问题
zqz981
2009-07-29 11:06:25
举例: double *b = new double[100];
当我需要添加新的数据在b里面时, 我使用了realloc的方法。 我想问的是,用new生成的指针数组,可以随时得到数组的大小吗?
基本问题,不过我忘记了。
...全文
105
5
打赏
收藏
c++ 中 使用new生成array的问题
举例: double *b = new double[100]; 当我需要添加新的数据在b里面时, 我使用了realloc的方法。 我想问的是,用new生成的指针数组,可以随时得到数组的大小吗? 基本问题,不过我忘记了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zqz981
2009-07-29
打赏
举报
回复
谢谢热心的支持。
windsting
2009-07-29
打赏
举报
回复
貌似开贴讨论过,除非针对特定的编译器写代码,否则不能得到new出来的数组的大小,
你还不如在new的那个地方弄个变量保存呢。
new出来的东西,一定要用delete去干掉,用realloc很可能出问题,但内部类型我估计问题不会太大。
还是老老实实的new出来一个新的空间,把老数据memcpy过去,然后delete []原来的内存吧。
fx397993401
2009-07-29
打赏
举报
回复
学习了
晨星
2009-07-29
打赏
举报
回复
(1)malloc出来的地址可以用realloc,new出来的最好不要用realloc;在有些系统中,malloc/free和new/delete所使用的堆可能都不一是一个;
(2)new动态分配的数组,无法随时获得它的大小,你得自己记住,比如就像std::vector那样,记在一个成员变量中。
wuyu637
2009-07-29
打赏
举报
回复
不行吧。你要用一个标记量来记录你的指针指向的内存的大小。
征服
C++
11视频精讲
【为什么还需要学习
C++
?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础...
C++
:
new
运算符
C++
:
new
运算符简介语法备注示例:分配并释放字符数组示例:
new
运算符初始化
使用
new
运算符分配的对象
使用
new
运算符分配的对象的生存期
new
的工作方式 简介 从免费存储为 类型 为的对象或对象数组分配内存,并将适当类型的非零指针返回到该对象。 备注 Microsoft c + + 组件扩展提供对
new
关键字的支持,以添加 vtable 槽条目。 语法 [::]
new
[placement]
new
-type-name [
new
-initializer] [::]
new
[pla
C++
中
关于
new
和delete的
使用
总结一下看的一篇文章 为何
new
出的对象数组必须要用delete[]删除,而普通数组delete和delete[]都一样 文章
中
验证了 对象数组 用 delete 删除不行(因为对象数组
中
还有记录一个元素大小的4个字节字段,delete函数内操作的内存
中
会有4个字节的偏移,导致数据混乱) 但没有回答普通数组为什么可以用delete 删除。 下面是一些总结 1.当
new
一个有析构函数的...
C++
new
和delete的
使用
new
和delete是
C++
里非常重要的两个关键字,意味着从“自由存储(堆)”分配指定大小的内存和释放掉这些内存。这些用法哪怕初学者也会,但是今天要讲的不是这个。今天要讲的是
使用
中
容易忽视的细节和可能引发的错误首先,
new
和delete总是成对出现,顺序也不能错。一定是先
new
再delete。其次,
new
和delete是针对单个对象,还有
new
[]和delete[]针对数组。最后,我们先从最简单的
使用
开始,慢慢带入。
new
和delete还可以操作自定义对象。struct t {
C++
中
new
的源码与行为分析
这是我在处女面
中
遇到的一个
问题
,当时回答的不太好,因此下来研究、学习了一下。
C++
中
operator
new
的行为及其与malloc的区别。当时我回答二者的区别是
new
在实现
中
会调用malloc并且由编译器安插调用构造函数的代码,并在面试官前辈的提醒下又答出malloc失败返回0,而
new
直接抛异常。但不清楚有没有不抛异常的
new
和不调用构造函数的
new
这一点。下面结合代码分析一下。
C++ 语言
64,687
社区成员
250,496
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章