평가 순서

이 섹션에서는 식의 계산 순서에 설명 하지만 구문이 나이 식에 있는 연산자의 의미를 설명 하지 않습니다.앞 절 이러한 각 연산자에 대 한 모든 참조를 제공합니다.

식의 우선 순위에 따라 고가 운영자의 그룹화 평가 됩니다.(연산자 우선 순위 및 결합성 에서 어휘 규칙, 부과 식에서 연산자는 C++ 관계를 표시 합니다.) 다음 예제를 고려해 보십시오.

예제

// expre_pluslang__pluslang_Order_of_Evaluation.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main()
{
    int a = 2, b = 4, c = 9;

    cout << a + b * c << "\n";
    cout << a + (b * c) << "\n";
    cout << (a + b) * c << "\n";
}

Output

38
38
54

식 계산 순서

Expression-Evaluation 순서

위의 그림에 표시 된 식을 평가 하는 순서는 우선 순위와 결합성 연산자가 결정 됩니다.

  1. 곱하기 (*) 우선 순위가 가장 높은이 식에서. 따라서 부분식 b * c 먼저 계산 됩니다.

  2. 더하기 (+)가 다음 가장 높은 우선 순위, 따라서 a 의 제품에 추가 된 b 및 c.

  3. 왼쪽된 시프트 (<<) 식에서 가장 낮은 우선 순위 있지만 두 가지 항목이 있습니다.왼쪽 시프트 연산자는 왼쪽에서 오른쪽으로 그룹화 하기 때문에 왼쪽된 부분식 먼저 계산 되 고 다음 오른쪽 하나입니다.

괄호는 부분식을 그룹으로 사용 하는 경우는 우선 한 식의 계산 순서는 다음 그림에 표시 된 대로 변경.

괄호가 있는 식 계산 순서

괄호 포함 Expression-Evaluation 순서

위의 그림 에서처럼 식을 자신의 의도를 순전히 평가-표준 출력 장치에 정보를 전송 하, 여기에서.

참고 항목

참조

식의 의미