首页 > 编程语言 >C++ 基础

C++ 基础

时间:2022-09-03 11:48:50浏览次数:61  
标签:触发 函数 对象 基础 C++ 析构 构造函数 指针

析构函数

  析构函数与构造函数相对应,构造函数是对象创建的时候自动调用的,而析构函数就是对象在销毁的时候自动调用的的。

  析构函数只有一个;没有参数;没有定义析构函数时,编译器自动帮我们加上;

指针对象执行析构函数

  使用delete触发析构函数

临时对象

  不定义对象来赋值,比如只有一行Person(),初始化完成之后就触发析构函数

析构函数的作用

  在类中声明了指针变量时,我们就需要在析构函数进行空间释放,因为系统不会释放指针变量

触发

  定义指针对象时,只有new和delete会触发构造函数和析构函数,而malloc和free不行。

#include <iostream>
#include <string>
using namespace std;
 
class Cperson
{
public:
	Cperson()
	{
		pp = new int;
		cout << "Beginning" << endl;
	}
 
	~Cperson()
	{
		delete pp;
		cout << "End" << endl;
	}
 
private:
	int *pp;
};
 
int main()
{
	Cperson *op1 = (Cperson *)malloc(sizeof(Cperson));
	free(op1);
 
	Cperson *op2 = new Cperson;
	delete op2;
 
	system("pause");
	return 0;
}

 

标签:触发,函数,对象,基础,C++,析构,构造函数,指针
From: https://www.cnblogs.com/MiraculousB/p/16652240.html

相关文章

  • 前端面试题 JavaScript 基础 —— 2022-09-03
    每日3题13以下代码执行后,控制台中的输出内容为?Object.prototype.a=1;Function.prototype.b=2;functionF(){}varf=newF();console.log(F.a);console.lo......
  • 1、C++基础知识代码笔记
    C++课堂笔记(一)说明:此笔记是学习于B站黑马程序员的C++视频所作的,感谢黑马程序员的教学;如有什么不足之处,望各位赐教。仅供学习。第一个代码:书写helloworld#include<iost......
  • C++ 火车头
    试了一下,去掉火车头本地测试跑了9.1s...加上后是1.0s,神奇地AC了还有就是好像关了流同步的cin和cout甚至比快读orscanf来得快 #pragmaGCCoptimize(3)#pragmaGCC......
  • 信息学一本通 第一章 C++语言入门 2060:【例1.1】计算机输出
    【题目描述】在屏幕上输出“HelloWorld!”。【输入】(无)【输出】(无)【输入样例】(无)【输出样例】HelloWorld!#include<iostream>usingnamespacestd;in......
  • Golang基础-2
    Golang基础2指针如果声明变量varxint,则&x是获取x值所在的地址,类型是整型指针(*int),即我们可以声明一个变量来接收其返回值varp*int=&x那么p就是一个指针变量 ag......
  • Python3项目初始化10-->前端基础jquery、ajax,sweetalert--创建用户删除用户改造
    32、JS基础-dmodal点击“创建”,不调整新页面操作,直接弹出框操作。modals弹框指示页面:https://v3.bootcss.com/javascript/#modals拷贝代码,父节点在body里面。<aclass=......
  • 第1章 从C到C++
    C++支持:面向过程编程、面向对象编程(OOP)和泛型编程。我们很难说C++拥有独立的编译器,例如Windows下的微软编译器(cl.exe)、Linux下的GCC编译器、Mac下的Clang编译器......
  • 2022-2023-1 20221304 《计算机基础与程序设计》第一周学习总结
    作业信息班级:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK01作业目标:快速浏览教材作业正文:ht......
  • WebGPU光追引擎基础课:课程介绍
    大家好~我开设了“WebGPU光追引擎基础课”的线上课程,从0开始,在课上带领大家现场写代码,使用WebGPU开发基础的光线追踪引擎课程重点在于基于GPU并行计算,实现BVH构建和遍历......
  • WebGPU光追引擎基础课系列目录
    大家好~我开设了“WebGPU光追引擎基础课”的线上课程,从0开始,在课上带领大家现场写代码,使用WebGPU开发基础的光线追踪引擎课程重点在于基于GPU并行计算,实现BVH构建和遍历......