Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Từ khóa const trong C++

Dùng const qualifier** để khai báo biến hằng – không thể thay đổi giá trị sau khởi tạo. Lợi ích lớn: ví dụ hằng số PI, không muốn phần nào sửa đổi → khai báo const.

Đối tượng const có thể đặt trong read-only memory. Nếu địa chỉ không bị lấy, có thể không lưu trữ כלל.

Ví dụ

#include <iostream>
using namespace std;

int main() {
    const int x = 10;
    x = 12;  // LỖI BIÊN DỊCH: assignment of read-only variable 'x'
    return 0;
}

Const với con trỏ

Khai báo Ý nghĩa
const int* p / int const* p Con trỏ tới int const – không sửa giá trị qua con trỏ
int* const p Con trỏ const – không đổi địa chỉ trỏ đến
const int* const p Cả hai đều const

Const member function

class MyClass {
    int value;
public:
    int getValue() const { return value; }  // Cam kết không sửa this->value
    void setValue(int v) { value = v; }
};

Best practice

  • Mặc định const cho tham số hàm (pass by const reference: const T&).
  • Đánh dấu const cho member function không sửa state.
  • Dùng constexpr (C++11) cho hằng số compile-time.