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

Khác biệt giữa toán tử tiền tố (prefix) và hậu tố (postfix) trong C++?


Phiên bản tiền tố (++i): giá trị của i được tăng, giá trị biểu thức là giá trị mới của i. Tức là tăng trước, rồi dùng giá trị mới.

Phiên bản hậu tố (i++): giá trị của i được tăng, nhưng giá trị biểu thức là giá trị cũ của i. Tức là dùng giá trị cũ trước, rồi mới tăng.

Ví dụ

#include <iostream>
using namespace std;
int main() {
    int x = 3, y, z;
    y = x++;
    z = ++x;
    cout << x << ", " << y << ", " << z;
    return 0;
}

Đầu ra

5, 3, 5

Giải thích:

  • Khởi tạo x = 3
  • Gán y = x++ → y lấy giá trị x trước khi tăng (3), sau đó x thành 4
  • Gán z = ++x → x tăng trước (thành 5), z lấy giá trị mới (5)
  • In x, y, z → 5, 3, 5