首页 > 系统相关 >C++温故补缺(十二):动态内存

C++温故补缺(十二):动态内存

时间:2023-03-20 23:22:47浏览次数:42  
标签:type C++ 内存 动态内存 new 温故 delete

C++动态内存

同C,C++中也是有堆和栈的概念。栈是函数内部声明的所有变量都所占用空间,堆是程序中未使用的内存,在程序运行期间可用于动态分配。

同样也有alloc()分配内存,新增了new和delete运算符来分配释放内存

new和delete

new关键字用来分配一种类型的内存:new type;,并返回一个该类型的指针,new type->type*。如:

int *p;
p=new int;

用完之后可以用delete关键字释放内存

delete p;

除此之外,new还可以在给对象分配内存空间的同时创建对象。多用来创建对象数组,如:

#include<iostream>
using namespace std;

class student{
    public:
        student(){
            cout<<"创建对象"<<endl;
        }
        ~student(){
            cout<<"销毁对象"<<endl;
        }
};

int main(){
    student* stpt=new student[3];
    delete [] stpt;

}

标签:type,C++,内存,动态内存,new,温故,delete
From: https://www.cnblogs.com/Tenerome/p/cppreview12.html

相关文章

  • C++温故补缺(十一):异常
    异常处理参考:cnblogs异常和错误(bug)异常:是程序开发过程中必须考虑的一些特殊情况,是程序运行时可以预料的执行分支。异常是不可以避免的,如0除问题,数组越界问题,文件不存在......
  • C++温故补缺(十):C++文件读写和流
    C++文件和流C++文件的读写流用的是fstream库,它定义了三个新的数据类型:数据类型描述ofstream该数据类型表示输出文件流,用于创建文件并向文件写入信息。ifstr......
  • 面试高频问题之C++11新特性
    背景C++11是C++语言的一个重大更新,引入了许多新特性,包括自动类型推导、lambda表达式、右值引用、智能指针等等。这些新特性使得C++更加现代化、高效、易用。也是面试容很容......
  • 面试高频问题之C++11新特性
    背景C++11是C++语言的一个重大更新,引入了许多新特性,包括自动类型推导、lambda表达式、右值引用、智能指针等等。这些新特性使得C++更加现代化、高效、易用。也是面试容很......
  • [第十届蓝桥杯省赛C++B组]等差数列
    来源:第十届蓝桥杯省赛C++B组算法标签:数论最大公约数题目描述数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一部分的数列,只记得其中N个整数。现在给......
  • 动态内存管理——通讯录
    本文主要介绍通讯录的动态实现,静态版可见此文——>静态通讯录,文章主要介绍了两次实现的不同,以及涉及到的基本知识。希望可以帮助到大家。一、动态内存函数1、申请函数a......
  • 以下是一个使用C++实现HTTP文件下载的简单示例,其中使用了C++ 11的标准库和Boost库:
    #include<iostream>#include<fstream>#include<boost/asio.hpp>usingboost::asio::ip::tcp;intmain(){try{boost::asio::io_serviceio_service;......
  • c++环境
    目录环境准备下装安装vscode及插件安装mingw编译器工作环境准备vscode工作目录调试环境CSDN参考文档环境准备下装安装vscode及插件vscode是微软账号登录的插件配置信息......
  • [C++引用] 保定丽丽带你学C++
    引用是C++内一个比较有用的方法,大家在丽丽的带领下好好学习。一.引用的基本使用C++引用的作用:给变量起别名语法:​​数据类型&名字=原名​​示例:#include<iostream>usi......
  • C++重载
    返回值不能作为重载的依据intfun()const;intfun();常成员函数可以用于重载无法重载的情况voidfun(inta);voidfun(constinta);普通值传递和const传递无法......