为类的指针开辟内存空间
时间: 2023-11-23 18:50:45 浏览: 88
为类的指针开辟内存空间的方式有两种:
1. 使用new关键字动态分配内存空间,例如:
```
#include <iostream>
class MyClass {
public:
MyClass() {
std::cout << "Constructor" << std::endl;
}
~MyClass() {
std::cout << "Destructor" << std::endl;
}
};
int main() {
MyClass* p = new MyClass(); // 开辟内存空间并调用构造函数
// 使用指针进行操作
delete p; // 释放内存空间并调用析构函数
return 0;
}
```
2. 使用malloc函数动态分配内存空间,并将指针强制转换为类的指针类型,例如:
```
#include <iostream>
class MyClass {
public:
MyClass() {
std::cout << "Constructor" << std::endl;
}
~MyClass() {
std::cout << "Destructor" << std::endl;
}
};
int main() {
MyClass* p = static_cast<MyClass*>(malloc(sizeof(MyClass))); // 开辟内存空间
new (p) MyClass(); // 调用构造函数
// 使用指针进行操作
p->~MyClass(); // 调用析构函数
free(p); // 释放内存空间
return 0;
}
```
阅读全文