使用指针数据存new的指针 demo
时间: 2024-07-04 19:00:15 浏览: 99
在C++中,`new`运算符用于动态分配内存,而指针则是用来存储内存地址的变量。当你创建一个新的对象并用`new`为它分配内存时,通常会返回一个指向新对象的指针。以下是一个简单的演示,展示了如何使用`new`和指针:
```cpp
#include <iostream>
class MyClass {
public:
MyClass(int value) : myValue(value) {}
int getValue() { return myValue; }
private:
int myValue;
};
int main() {
// 使用 new 分配内存并创建对象
MyClass* ptr = new MyClass(42); // 创建一个 Myclass 类型的对象,并将指针赋值给 ptr
// 检查指针是否有效
if (ptr != nullptr) {
std::cout << "Object value: " << ptr->getValue() << std::endl; // 输出新对象的值
// 使用 delete 释放内存,避免内存泄漏
delete ptr;
} else {
std::cerr << "Memory allocation failed." << std::endl;
}
return 0;
}
```
在这个例子中:
1. `MyClass *ptr = new MyClass(42);` 这行代码动态地创建了一个`MyClass`对象,`new`操作返回的是一个指向`MyClass`的指针,`ptr`被用来保存这个地址。
2. `ptr->getValue()` 表示通过指针访问对象的成员方法。
3. `delete ptr;` 用于释放由`new`分配的内存,确保程序没有内存泄漏。