Search
castle

산술연산(Arithmetic)

연산(arithmetic)과 연산자(operators)

  • 연산(arithmetic) : 수나 식을 일정한 규칙에 따라 계산 하는것
  • 연산자(operators)
    • 어떠한 행위를 하는 것으로 범위가 매우 넓고 다양
    • 대부분 오버로딩(overloading) 가능
    • 사용자 정의 자료형일 경우 연산자 정의 필요
연산자이름 문법 클래스 내부 정의 클래스 외부 정의      
unary plus +a T T::operator+() const; T operator+(const T &a);      
unary minus -a T T::operator-() const; T operator-(const T &a);      
addition a + b T T::operator+(const T2 &b) const; T operator+(const T &a, const T2 &b);      
subtraction a - b T T::operator-(const T2 &b) const; T operator-(const T &a, const T2 &b);      
multiplication a * b T T::operator*(const T2 &b) const; T operator*(const T &a, const T2 &b);      
division a / b T T::operator/(const T2 &b) const; T operator/(const T &a, const T2 &b);      
modulo a % b T T::operator%(const T2 &b) const; T operator%(const T &a, const T2 &b);      
bitwise NOT ~a T T::operator~() const; T operator~(const T &a);      
bitwise AND a & b T T::operator&(const T2 &b) const; T operator&(const T &a, const T2 &b);      
bitwise OR a b T T::operator (const T2 &b) const; T operator (const T &a, const T2 &b);
bitwise XOR a ^ b T T::operator^(const T2 &b) const; T operator^(const T &a, const T2 &b);      
bitwise left shift a « b T T::operator«(const T2 &b) const; T operator«(const T &a, const T2 &b);      
bitwise right shift a » b T T::operator»(const T2 &b) const; T operator»(const T &a, const T2 &b);      

연산자 우선순위

연산자 설명 연산자 대체
그룹 1 우선 순위, 결합성 없음    
범위 확인 ::  
그룹 2 우선 순위(왼쪽에서 오른쪽 연결성)    
멤버 선택(개체 또는 포인터) . 또는 ->  
배열 아래 첨자 []  
함수 호출 ()  
후위 증가 ++  
후위 감소 --  
형식 이름 typeid  
상수 형식 변환 const_cast  
동적 형식 변환 dynamic_cast  
재해석된 형식 변환 reinterpret_cast  
정적 형식 변환 static_cast  
그룹 3 우선 순위, 오른쪽에서 왼쪽 연결    
개체 또는 형식의 크기 sizeof  
접두사 증가 ++  
접두사 감소 --  
하나의 보수 ~ compl
논리하지 않음 ! not
단항 부정 -  
단항 더하기 +  
주소-of &  
간접 참조 *  
개체 만들기 new  
개체 삭제 delete  
캐스트 ()  
그룹 4 우선 순위(왼쪽에서 오른쪽 연결성)    
멤버에 대한 포인터(개체 또는 포인터) .* 또는 ->*  
그룹 5 우선 순위(왼쪽에서 오른쪽 연결성)    
곱하기 *  
나누기 /  
계수 %  
그룹 6 우선 순위(왼쪽에서 오른쪽 결합성)    
더하기 +  
빼기 -  
그룹 7 우선 순위( 왼쪽에서 오른쪽 결합성)    
왼쪽 시프트 <<  
오른쪽 시프트 >>  
그룹 8 우선 순위(왼쪽에서 오른쪽 연결성)    
보다 작음 <  
보다 큼 >  
작거나 같음 <=  
크거나 같음 >=  
그룹 9 우선 순위(왼쪽에서 오른쪽 연결성)    
등호 ==  
같지 않음 != not_eq
그룹 10 우선 순위 왼쪽에서 오른쪽 결합성    
비트 AND & bitand
그룹 11 우선 순위(왼쪽에서 오른쪽 연결성)    
비트 배타적 OR ^ xor
그룹 12 우선 순위(왼쪽에서 오른쪽 결합성)    
비트 포함 OR | bitor
그룹 13 우선 순위(왼쪽에서 오른쪽 결합성)    
논리적 AND && and
그룹 14 우선 순위(왼쪽에서 오른쪽 연결성)    
논리적 OR || or
그룹 15 우선 순위, 오른쪽에서 왼쪽 결합성    
조건부 ? :  
양도 =  
곱하기 할당 *=  
나누기 배정 /=  
모듈러스 할당 %=  
추가 할당 +=  
빼기 할당 -=  
왼쪽 시프트 할당 <<=  
오른쪽 시프트 할당 >>=  
비트 AND 할당 &= and_eq
비트 포함 OR 할당 |= or_eq
비트 배타적 OR 할당 ^= xor_eq
throw 식 throw  
그룹 16 우선 순위(왼쪽에서 오른쪽 결합성)    
Comma ,  
left
right

C

Contents