AI智能推荐题库-试题通 AI智能整理导入题库-试题通
×
首页 题库中心 世界职业院校技能大赛汽车工程系选拔理论考试题库 题目详情
CAF88E2CAFE00001135B77F0847512A7
世界职业院校技能大赛汽车工程系选拔理论考试题库
1,000
单选题

C++中的‘new’和‘malloc’的主要区别是什么?

A
new会调用构造函数
B
malloc不会调用构造函数
C
new会返回类型指针
D
以上都是

答案解析

正确答案:D

解析:

好的,让我们来详细解析这道题。 题目:C++中的‘new’和‘malloc’的主要区别是什么? 选项: A. new会调用构造函数 B. malloc不会调用构造函数 C. new会返回类型指针 D. 以上都是 ### 解析: 1. **new会调用构造函数**(选项A): - `new` 是 C++ 中的一个操作符,用于动态分配内存并调用对象的构造函数。例如: ```cpp MyClass* obj = new MyClass(); ``` 这行代码不仅为 `MyClass` 对象分配了内存,还会调用 `MyClass` 的构造函数来初始化对象。 2. **malloc不会调用构造函数**(选项B): - `malloc` 是 C 语言中的一个函数,用于动态分配内存。在 C++ 中也可以使用 `malloc`,但它不会调用构造函数。例如: ```cpp MyClass* obj = (MyClass*)malloc(sizeof(MyClass)); ``` 这行代码只分配了内存,但没有调用 `MyClass` 的构造函数。因此,对象没有被正确初始化,需要手动调用构造函数或使用其他方法来初始化对象。 3. **new会返回类型指针**(选项C): - `new` 返回的是一个指向分配内存的指针,并且该指针的类型与所分配的对象类型一致。例如: ```cpp MyClass* obj = new MyClass(); ``` 这里 `obj` 是一个 `MyClass*` 类型的指针,可以直接使用。 4. **以上都是**(选项D): - 选项A、B、C 都是正确的,因此选择D。 ### 为什么选D? - 选项A、B、C 分别描述了 `new` 和 `malloc` 在不同方面的区别,这些区别都是正确的。 - 因此,综合来看,选项D 是最全面的答案,包含了所有正确的描述。
世界职业院校技能大赛汽车工程系选拔理论考试题库

扫码进入小程序
随时随地练习

关闭登录弹窗
专为自学备考人员打造
勾选图标
自助导入本地题库
勾选图标
多种刷题考试模式
勾选图标
本地离线答题搜题
勾选图标
扫码考试方便快捷
勾选图标
海量试题每日更新
波浪装饰图
欢迎登录试题通
可以使用以下方式扫码登陆
APP图标
使用APP登录
微信图标
使用微信登录
试题通小程序二维码
联系电话:
400-660-3606
试题通企业微信二维码