Quản lý bộ nhớ trong C++ – Phần 18

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Quản lý bộ nhớ trong C++ – Phần 18

Quản lý bộ nhớ trong C++

1. Giới thiệu

Quản lý bộ nhớ là một phần quan trọng trong lập trình C++. Việc cấp phát và giải phóng bộ nhớ không đúng cách có thể gây ra rò rỉ bộ nhớ và lỗi truy cập bộ nhớ.

2. Cấp phát bộ nhớ động

C++ hỗ trợ cấp phát bộ nhớ động bằng toán tử new và giải phóng bộ nhớ bằng toán tử delete.

2.1. Cấp phát và giải phóng một biến

#include <iostream>
using namespace std;

int main() {
    int *ptr = new int; // Cấp phát bộ nhớ động
    *ptr = 10;
    cout << "Giá trị: " << *ptr << endl;
    delete ptr; // Giải phóng bộ nhớ
    return 0;
}

2.2. Cấp phát và giải phóng mảng động

#include <iostream>
using namespace std;

int main() {
    int *arr = new int[5];
    for (int i = 0; i < 5; i++) arr[i] = i * 2;
    for (int i = 0; i < 5; i++) cout << arr[i] << " ";
    delete[] arr; // Giải phóng bộ nhớ
    return 0;
}

3. Smart Pointers

C++11 giới thiệu Smart Pointers để tự động quản lý bộ nhớ, bao gồm unique_ptr, shared_ptr và weak_ptr trong thư viện <memory>.

3.1. unique_ptr

#include <iostream>
#include <memory>
using namespace std;

int main() {
    unique_ptr<int> ptr = make_unique<int>(10);
    cout << "Giá trị: " << *ptr << endl;
    return 0;
}

3.2. shared_ptr

#include <iostream>
#include <memory>
using namespace std;

int main() {
    shared_ptr<int> ptr1 = make_shared<int>(20);
    shared_ptr<int> ptr2 = ptr1; // Chia sẻ quyền sở hữu
    cout << "Giá trị: " << *ptr1 << " - " << *ptr2 << endl;
    return 0;
}

3.3. weak_ptr

#include <iostream>
#include <memory>
using namespace std;

int main() {
    shared_ptr<int> sp = make_shared<int>(30);
    weak_ptr<int> wp = sp; // Không tăng reference count
    if (auto spt = wp.lock()) {
        cout << "Giá trị: " << *spt << endl;
    }
    return 0;
}

4. Kết luận

Quản lý bộ nhớ hiệu quả giúp tránh rò rỉ bộ nhớ và tối ưu hiệu suất. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về lập trình hướng đối tượng trong C++.

Bài viết liên quan