연산자의 우선순위 (특히 sizeof 주의), 결합성

1 (), [], ->, . (쩜,마침표다)
2
sizeof, &, ++, ==,
~, !, *(간접 지정 연산자), +(단항 연산자), -(단항 연산자)

3 *(곱셈 연산자, /, %
4
+(이항 연산자), -(이항 연산자)
5 <<, >>
6 <, <=, >=,
>
7 ==, !=
8 &
9 ^
10 |
11&&
12||
13?:
(삼항 연산자)
14=, +=, *=, /=, %=, &=, ^=, !=, <<=, >>=
15,
(콤마 연산자)


1. 최상위 연산자

::
=> C++의 영역접근 및 클래스 분해(resolution)

[] =>
배열첨자(subscripting)

-> => C++의 간접 멤버 연산자

() => 함수 호출 연산자

. => C++의 직접 멤버
연산자

2. 단항 연산자 (Unery)

! => 논리부정(NOT)

~ => 보수('s) 연산자

+ => 양수(Unary plus)

- =>
음수(Unary minus)

++ => 전치 및 후치 증가 연산자

-- => 전치 및 후치 감소 연산자

& =>
주소(Address)

* => 간접(Indirection) 연산자

sizeof => (return size of operand, in byte)

new => C++의 동적(dynamically) 메모리 할당

delete
=> C++의 동적(dynamically) 메모리 제거

3.
산술연산자

* => 곱셈(Multiply)

/ => 나눗셈(Divide)

% =>
나머지(Remainder)


4. 멤버 접근

.* => C++의
클래스 멤버 비 참조 연산자

->* => C++의 클래스 멤버 비 참조 연산자

5. 산술 연산자 (Additive)

+ =>
가산(Binary plus)

- => 감산(Binary minus)

6.
이동(Shirt)

<< => 좌측이동(Shift left)

>> => 우측이동(Shift right)

7. 관계
연산자 (Relational)

< => 적음(Less than)

<= => 적거나 같음(Less than or equal to)

> => 크다(Greater than)

>= =>
크거나 같음(Greater than or equal to)


8. 등가 연산자 (Equality)

==
=> 같음(Equal to)

!= => 같지 않음((Not equal to)

9.
비트 연산자

& => 비트곱(Bitwise AND)

10. 비트 연산자

^ => 비트차(Bitwise XOR)


11.
논리연산자

| => 비트합(Bitwise OR)


12. 논리연산자

&& =>
논리곱(Logical AND)


13. 논리연산자

|| => 논리합(Logical OR)


14. 삼항
연산자 (Conditional)

?: => (a ? x:y , means "if a then x,
else y" )


15.
치환 연산자 (Assignment)
= *= /= %= +==

(Assignment) |
-== &= ^= |= <<= >==


16. 콤마연산자

,(Comma) => 선택
연산자(Evaluate)

sizeof는 연산자이다.
sizeof는 2순위다.

합성 : 덧셈은 왼쪽에서 오른쪽으로 계산을 한다. 예를들어.... 3+5+6 이면 왼쪽에서 오른쪽으로...
sizeof나
&, ++는 오른쪽에서 왼쪽으로 계산한다.

괄호가 가장 연산순위가 높기 때문에 괄호로 묶어서 처리하면 다 된다.

[지
식인서 일부 펌..]