社区
C++ 语言
帖子详情
求助:关于new的一个面试题
skyguide
2008-10-13 12:03:25
C++中的new操作符通常完成两个工作, 分配内存及其调用相应的构造函数初始化
请问:
1) 如何让new操作符不分配内存, 只调用构造函数?
2) 这样的用法有什么用?
知道的高人指点一下,谢谢
...全文
91
10
打赏
收藏
求助:关于new的一个面试题
C++中的new操作符通常完成两个工作, 分配内存及其调用相应的构造函数初始化 请问: 1) 如何让new操作符不分配内存, 只调用构造函数? 2) 这样的用法有什么用? 知道的高人指点一下,谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
waydream
2008-10-16
打赏
举报
回复
重载new
nk_ysg
2008-10-13
打赏
举报
回复
谢谢
[Quote=引用 8 楼 baihacker 的回复:]
引用 7 楼 nk_ysg 的回复:
引用 1 楼 baihacker 的回复:
new(地址) 类型(初始化列表);
做法可以主动调用构造函数,和实现自己分配内存(自己写个内存分配器,在为一个类的对象分配的时候,需要调用构造函数)
能更详细解释下吗?不懂
网上搜索一下放置new
[/Quote]
baihacker
2008-10-13
打赏
举报
回复
[Quote=引用 7 楼 nk_ysg 的回复:]
引用 1 楼 baihacker 的回复:
new(地址) 类型(初始化列表);
做法可以主动调用构造函数,和实现自己分配内存(自己写个内存分配器,在为一个类的对象分配的时候,需要调用构造函数)
能更详细解释下吗?不懂
[/Quote]
网上搜索一下放置new
nk_ysg
2008-10-13
打赏
举报
回复
[Quote=引用 1 楼 baihacker 的回复:]
new(地址) 类型(初始化列表);
做法可以主动调用构造函数,和实现自己分配内存(自己写个内存分配器,在为一个类的对象分配的时候,需要调用构造函数)
[/Quote]
能更详细解释下吗?不懂
matrixdwy
2008-10-13
打赏
举报
回复
也许是placement new吧
yshuise
2008-10-13
打赏
举报
回复
内存池都是必须这样使用。
jia_xiaoxin
2008-10-13
打赏
举报
回复
而placement new就是在给定的内存上面调用构造函数生成对象。
可用于在一块内存上(new出来的)只调用构析函数把对象析构了,不释放内存,然后再构造出另外一个对象。
jia_xiaoxin
2008-10-13
打赏
举报
回复
它这是在考布局new操作吧,
Placement new 是在已经被分配但是尚未处理的内存构造一个对象
new(buffer) Widget(widgetSize)
rollrock1987
2008-10-13
打赏
举报
回复
没想过 up
baihacker
2008-10-13
打赏
举报
回复
new(地址) 类型(初始化列表);
做法可以主动调用构造函数,和实现自己分配内存(自己写个内存分配器,在为一个类的对象分配的时候,需要调用构造函数)
经典
面试题
之
new
和malloc的区别
本文详细对比了C/C++中的
new
和malloc操作符。
new
作为C++关键字,能自动计算内存大小并调用构造函数;malloc则需手动指定内存大小且不支持构造函数调用。
new
分配失败时会抛出异常,malloc则返回NULL。此外,
new
可以被重载,而malloc不能。
new
new
Foo().getName()
面试题
解析
本文解析了一道经典的JavaScript
面试题
,通过分析Foo().getName()的调用过程,详细解释了函数声明、函数表达式、原型链、
new
操作符及作用域等核心概念。
【
面试题
】
new
一个
对象时,js 做了什么?
文章详细探讨了JavaScript中
new
操作符的作用,通过示例解释了
new
如何创建实例对象,实现继承,并分析了构造函数返回值的不同情况。此外,还提供了自己实现
new
功能的代码示例。,
2024年Web前端最新【
面试题
】
new
一个
对象时,js 做了什么?_
new
一个
对象js(1),2024年最新面试官的问话
本文通过阿里
面试题
,探讨了JavaScript中构造函数的返回值对
new
操作符的影响,指出构造函数通常不应回传原始值,而应返回对象以便正确实例化。作者还提供了自定义
new
实现的代码示例和学习建议。
go_
面试题
: make()和
new
()的区别?
本文聚焦Go语言
面试题
,探讨make()和
new
()的区别。make()用于初始化切片、哈希表和Channel等内置数据结构;
new
()则分配内存并返回指针。从源码看,make()返回类型本身,
new
()返回类型指针,还介绍了二者在编译和中间代码生成阶段的处理方式。
C++ 语言
65,210
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章