C++对象指针的用法
时间: 2024-08-14 18:10:13 浏览: 57
C++的对象指针允许我们动态地创建和管理内存,特别是当我们需要在运行时确定对象的位置或延长对象的生命周期时。这里有两个示例展示了它们的用法:
1. **定义并操作普通对象指针**[^1]:
```cpp
class Time {
// ...
};
// 创建Time类的对象并分配内存
Time t;
// 定义指向Time对象的指针
Time* timePtr = &t;
// 访问对象及其成员
timePtr->hour = 12;
timePtr->minute = 30;
timePtr->get_time(); // 调用成员函数
```
2. **智能指针(如`auto_ptr`)的用法**[^2]:
```cpp
// 使用智能指针自动管理内存
std::auto_ptr<Test> test(new Test()); // test现在拥有Test对象
// 获取智能指针托管的原始指针
Test* rawPtr = test.get();
// 访问对象
std::cout << "tmp->debug: " << rawPtr->getDebug() << std::endl;
// 当不再需要时,智能指针会在适当的时候自动释放资源
```
对象指针提供了灵活性,但同时也需要注意内存管理,防止内存泄漏。当不再需要对象时,务必通过删除指针或让智能指针负责释放来释放内存。
阅读全文