C++内存管理

1.C++的内存分布

2.c与c++的内存管理方式

初始化:

内置类型

对于内置类型,默认不初始化,但也可以初始化

单个和多个

没有初始化满会默认初始化为0

自定义类型

一般情况下,类的对象是无法访问的,因此malloc无法对对象进行初始化

但是可以使用new来分配动态内存,可以调用默认构造(或者带参构造)

free和delete同理,调用delete会自动析构

new与malloc的关系

operator new / delete是一个库中的全局函数

可以看作malloc和free的封装

调用new相当于调用operator new + 构造函数

delete同理

调用new的优点

对于malloc,开空间失败会返回空指针,因此需要额外判断

但是new失败会" 抛异常 ",停止执行,不需要再检查返回值了

operator new = malloc + 失败抛异常

相关推荐

  1. C/C++——内存管理

    2024-04-20 12:04:03       65 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-20 12:04:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-20 12:04:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-20 12:04:03       82 阅读
  4. Python语言-面向对象

    2024-04-20 12:04:03       91 阅读

热门阅读

  1. 在flask服务中远程读取该Excel的内容

    2024-04-20 12:04:03       40 阅读
  2. 缓存之缓存简介

    2024-04-20 12:04:03       35 阅读
  3. 嵌入式之计算机网络篇(七)

    2024-04-20 12:04:03       36 阅读
  4. yarn 会从npm config registry 下载依赖吗

    2024-04-20 12:04:03       30 阅读
  5. 如何用Redis高效实现12306的复杂售票业务

    2024-04-20 12:04:03       39 阅读
  6. 【BUG】ServerHttpResponseDecorator失效

    2024-04-20 12:04:03       38 阅读
  7. 【python脚本】课表信息生成 course_test(源代码)

    2024-04-20 12:04:03       35 阅读