C++ memory 使用实例
时间: 2023-08-22 16:10:20 浏览: 40
当我们在C++中使用内存时,可以通过以下几种方式进行操作:
1. 动态内存分配(Dynamic Memory Allocation):使用关键字`new`来在堆上分配内存,并返回指向该内存的指针。例如:
```cpp
int* ptr = new int; // 分配一个int类型的内存空间
*ptr = 10; // 在分配的内存上存储值
delete ptr; // 释放内存空间
```
2. 动态数组(Dynamic Arrays):使用关键字`new`来在堆上分配数组内存。例如:
```cpp
int* arr = new int[5]; // 分配一个包含5个int元素的数组
arr[0] = 10; // 在数组中存储值
delete[] arr; // 释放数组内存
```
3. 智能指针(Smart Pointers):C++11引入了智能指针,如`std::shared_ptr`和`std::unique_ptr`,用于自动管理动态分配的内存。例如:
```cpp
std::shared_ptr<int> ptr = std::make_shared<int>(10); // 创建一个智能指针并初始化为10
// 不需要手动释放内存,当ptr超出作用域时会自动释放内存
```
4. 栈上分配(Stack Allocation):栈上分配是指在函数中创建的变量,其内存在函数结束时自动释放。例如:
```cpp
void foo() {
int num = 10; // 在栈上分配一个整数变量
// 可以直接使用变量,无需手动释放内存
}
```
这些是C++中常用的内存使用实例,根据实际需求和情况选择适合的内存分配方式。记得在动态分配内存后,及时释放内存以避免内存泄漏。