C++ 指针动态内存分配

news/发布时间2024/5/20 5:44:46

动态内存分配

  • 动态内存分配:即由程序员手动的进行内存空间的分配、内存空间的释放的内存管理操作
  • C++代码中,变量、数组等对象的创建,是由C++自动分配内存的,称之为(自动)静态内存分配
    • (自动)静态内存管理,不会进行内存空间的自动清理。(无垃圾回收机制)
    • 需要手动的管理内存,即手动分配,用完清理

new运算符

  • 用于申请并分配内存空间并提供指向该空间的指针(内存地址)
  • 基本语法:
    • new type 申请普通变量空间
    • new type[] 申请数组空间

delete运算符

  • 用于释放内存,仅可用于new运算符申请的内存区域
  • 基本语法:
    • delete 指针  删除普通变量空间
    • delete[] 指针 删除数组空间
  • 建议:写完new后,立刻写delete,然后再写业务逻辑代码(避免忘记)
    int *pt = new int;*pt = 10;cout << "申请内存空间存放:" << *pt << endl;delete pt;cout << "pt内存空间已释放" << endl;int *pt2 = new int[3];pt2[0] = 1;   // 指针也可以用下标, 等同于*(p+0)*(pt2 + 1) = 2;  // 等同于 pt[1]cout << "*pt2申请内存空间大小:" << sizeof(pt2) << endl;cout << *pt2 << endl;cout << pt2[1] << endl;delete[] pt2;  // 释放内存空间cout << "pt2内存空间已释放" << endl;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/18241065.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

Linux Shell 脚本专题

本文介绍了Linux Shell环境变量和脚本使用的常用知识点。V1.0 2024年5月8日 发布于博客园目录常用环境变量一、环境变量的概念1、环境变量的含义2、环境变量的分类3、Linux环境变量二、常用的环境变量1、查看环境变量2、常用的环境变量三、设置环境量1、系统环境变量2、用户环境…

注册表延长Windows更新时间

打开注册表【Win】+【R】打开运行窗口输入regedit在输入框中输入计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings后回车在右侧空白处选择新建->DWORD(32位)值(D)命名为FlightSettingsMaxPauseDays,选中10进制数据数值为暂停更新的天数。 确定后关…

El-Upload组件上传图片并添加水印

背景 有的时候我们需要在上传图片中添加一些水印标识,然后上传至服务器 效果图代码 <template><div class="app"><!-- 需求:1. 点击直接预览图片,而不需要使用dialog2. 上传图片添加水印后才预览图片思路:上传图片文件添加水印。使用watermark…

Windows平台git clone文件路径太长报错

解决文件路径太长导致的报错问题问题描述 在Windows下拉取一些比较大的开源项目经常会提示文件路径太长(filename too long),然后死活都不成功 解决办法 1.配置git git config --system core.longpaths true2.修改文件C:\Program Files\Git\etc\gitconfig(需要以管理员身份…

docker搭建redis集群(三主三从)及重启redis集群 redis扩容新增集群

docker搭建redis集群(三主三从)及重启redis集群 一、docker搭建redis集群1、下载redis镜像文件从远程仓库先拉取一下redis的镜像文件,如果已经提前安装过镜像的,可以跳过此步骤: docker pull redis:6.0.82、查看本地拉取到镜像文件docker images 看到图上标识,就说明当前…

ISCC线上赛2023

ISCC线上赛2023 web web1双重base解码得到flag web3 F12控制台查看可找到loveStory.php Enc.php download.php,loveStory.php为反序列源码 boy::__destruct() -->girl()::__call()-->helper()::__isset()-->boy()::__toString()-->helper()::__get()-->love_st…