文章目录
代码如下:
#include <stdio.h>
#include <iostream>
using namespace std;class Student
{
public:Student(){};Student(const Student&) = delete; //禁用拷贝构造函数 也就是在拷贝构造函数声明的右侧加上delete
};
int main(int argc, char *argv[])
{Student str1;Student str2(str1);//上方第9行不写的话,这里会自动调用默认的构造拷贝函数创建str2对象。Student* str3 = new Student;//在堆中创建Student类实例,并返回指向堆中实例的指针delete str3;//释放堆中对象,调用析构函数return 0;
}
delete
:关键字 大概有两个地方使用到了。
一个是:配合new关键字来使用,来释放堆中对象时,需要使用delete。
二是:在需要禁用 类,结构体等中提供的默认函数使用关键字delete。