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

Thứ tự đánh giá toán hạng trong C++


Trong lập trình, có quy tắc xác định thứ tự đánh giá toán hạng và tính kết hợp (associativity).

Chương trình minh họa thứ tự đánh giá:

Ví dụ

#include <iostream>
using namespace std;

int x = 2;
int changeVal() {
    x *= x;
    return x;
}

int main() {
    int p = changeVal() + changeVal();
    cout << "Value: " << x << endl;
    cout << "Operation result: " << p << endl;
    return 0;
}

Kết quả

Value: 16 Operation result: 20

Giải thích: Thứ tự đánh giá toán hạng của toán tử + không được quy định (unspecified). changeVal() đầu tiên: x=2*2=4, trả về 4. changeVal() thứ hai: x=4*4=16, trả về 16. p = 4+16=20. x cuối cùng = 16.