1. C++语言类构造函数 & 析构函数,以及对应new & delete的用法
时间: 2024-02-27 12:52:28 浏览: 35
在C++中,类的构造函数和析构函数是用来初始化和销毁对象的函数。在类中,构造函数和析构函数的名称与类名相同,且没有返回值。下面是一个简单的类示例:
```c++
class MyClass {
public:
// 构造函数
MyClass() {
// 初始化对象
}
// 析构函数
~MyClass() {
// 释放对象
}
};
```
在上述代码中,MyClass是一个类,它包含了一个构造函数和一个析构函数。当程序实例化MyClass对象时,构造函数会被调用,用于初始化对象;当程序销毁MyClass对象时,析构函数会被调用,用于释放对象占用的内存空间和资源。
对于动态分配内存的对象,需要使用new和delete关键字来进行内存的分配和释放。下面是一个简单的示例代码:
```c++
MyClass* myObj = new MyClass(); // 动态分配MyClass对象的内存空间
delete myObj; // 释放MyClass对象的内存空间
```
在上述代码中,使用new关键字动态分配了一个MyClass对象的内存空间,并返回该对象的指针。在使用完该对象后,使用delete关键字释放该对象的内存空间。
需要注意的是,使用new动态分配内存空间后,需要手动释放该内存空间,否则会产生内存泄漏。同时,使用delete释放内存空间后,需要将指针置为NULL,以避免出现野指针。
总之,C++语言中的类构造函数和析构函数是用于初始化和销毁对象的函数,而new和delete关键字则是用于动态分配和释放对象内存空间的关键字。程序员需要注意在使用new和delete时,要避免内存泄漏和野指针的产生。