C + + 기본 제공 연산자, 우선 순위 및 결합성C++ Built-in Operators, Precedence and Associativity

C++ 언어는 모든 C 연산자를 포함하며 몇 가지 새로운 연산자를 추가합니다.The C++ language includes all C operators and adds several new operators. 연산자는 둘 이상의 피연산자에 대해 수행할 평가를 지정합니다.Operators specify an evaluation to be performed on one or more operands.

연산자 우선 순위 둘 이상의 연산자를 포함 하는 식에서 연산의 순서를 지정 합니다.Operator precedence specifies the order of operations in expressions that contain more than one operator. 연산자 결합성 우선 순위가 같은 여러 연산자가 있는 식에서 피연산자는 해당 왼쪽 또는 오른쪽에 함께 그룹화 여부를 지정 합니다.Operator associativity specifies whether, in an expression that contains multiple operators with the same precedence, an operand is grouped with the one on its left or the one on its right. 다음 표에서는 C++ 연산자의 우선 순위와 결합성을 내림차순으로 보여 줍니다.The following table shows the precedence and associativity of C++ operators (from highest to lowest precedence). 우선 순위 번호가 같은 연산자는 괄호를 사용하여 다른 관계를 명시적으로 강제하지 않는 한 우선 순위가 같습니다.Operators with the same precedence number have equal precedence unless another relationship is explicitly forced by parentheses.

C++ 연산자 우선 순위 및 결합성C++ Operator Precedence and Associativity

연산자 설명Operator Description 연산자Operator
그룹 1의 우선 순위, 연결성이 없습니다Group 1 precedence, no associativity
범위 결정Scope resolution ::::
그룹 2 우선 순위를 왼쪽에서 오른쪽 결합성Group 2 precedence, left to right associativity
멤버 선택 (개체 또는 포인터)Member selection (object or pointer) . 또는->. or ->
배열 첨자Array subscript [][]
함수 호출Function call ()()
후 위 증가Postfix increment ++
후 위 감소Postfix decrement --
형식 이름Type name typeidtypeid
상수 형식 변환Constant type conversion const_castconst_cast
동적 형식 변환Dynamic type conversion dynamic_castdynamic_cast
재해석된 형식 변환Reinterpreted type conversion reinterpret_castreinterpret_cast
정적 형식 변환Static type conversion static_caststatic_cast
오른쪽에서 왼쪽된 결합성으로 그룹 3 우선 순위Group 3 precedence, right to left associativity
개체 또는 형식의 크기Size of object or type sizeofsizeof
전위 증가Prefix increment ++
전위 감소Prefix decrement --
1의 보수One's complement ~
논리적 notLogical not !!
단항 부정Unary negation -
단항 더하기Unary plus +
주소Address-of &
간접 참조Indirection **
개체 만들기Create object newnew
개체 삭제Destroy object deletedelete
캐스트Cast ()()
왼쪽에서 오른쪽 결합성 그룹 4 우선 순위Group 4 precedence, left to right associativity
-멤버 포인터 (개체 또는 포인터)Pointer-to-member (objects or pointers) . * 또는->*.* or ->*
그룹 5 우선 순위를 왼쪽에서 오른쪽 결합성Group 5 precedence, left to right associativity
곱하기Multiplication **
나누기Division /
모듈러스Modulus %
왼쪽에서 오른쪽 결합성 6 그룹 우선 순위Group 6 precedence, left to right associativity
더하기Addition +
빼기Subtraction -
왼쪽에서 오른쪽 결합성 그룹 7 우선 순위Group 7 precedence, left to right associativity
왼쪽된 시프트Left shift <<
오른쪽 시프트Right shift >>
왼쪽에서 오른쪽 결합성 그룹 8 우선 순위Group 8 precedence, left to right associativity
보다 작음Less than <
보다 큼Greater than >
작거나 같음Less than or equal to <=
크거나 같음Greater than or equal to >=
왼쪽에서 오른쪽 결합성 9 그룹 우선 순위Group 9 precedence, left to right associativity
같음Equality ==
같지 않음Inequality !=!=
왼쪽에서 오른쪽 결합성 10 그룹 우선 순위Group 10 precedence left to right associativity
비트 ANDBitwise AND &
왼쪽에서 오른쪽 결합성 11 그룹 우선 순위Group 11 precedence, left to right associativity
비트 배타적 ORBitwise exclusive OR ^
왼쪽에서 오른쪽 결합성 12 그룹 우선 순위Group 12 precedence, left to right associativity
포괄적 비트 ORBitwise inclusive OR ||
왼쪽에서 오른쪽 결합성 13 그룹 우선 순위Group 13 precedence, left to right associativity
논리적 ANDLogical AND &&
왼쪽에서 오른쪽 결합성 group 14 우선 순위Group 14 precedence, left to right associativity
논리적 ORLogical OR ||||
오른쪽에서 왼쪽된 결합성으로 15 우선 순위 그룹Group 15 precedence, right to left associativity
조건부Conditional ? :? :
오른쪽에서 왼쪽된 결합성으로 16 우선 순위 그룹Group 16 precedence, right to left associativity
할당Assignment =
곱하기 대입Multiplication assignment *=*=
나누기 대입Division assignment /=
모듈러스 대입Modulus assignment %=
더하기 대입Addition assignment +=
빼기 대입Subtraction assignment -=
왼쪽 시프트 할당Left-shift assignment <<=
오른쪽 시프트 할당Right-shift assignment >>=
비트 AND 대입Bitwise AND assignment &=
포괄적 비트 OR 대입Bitwise inclusive OR assignment |=|=
비트 배타적 OR 할당Bitwise exclusive OR assignment ^=
오른쪽에서 왼쪽된 결합성으로 그룹 17 우선 순위Group 17 precedence, right to left associativity
throw 식throw expression throwthrow
왼쪽에서 오른쪽 결합성 18 그룹 우선 순위Group 18 precedence, left to right associativity
쉼표Comma ,,

참고자료See also

연산자 오버로드Operator Overloading