'연산자'에 해당되는 글 1건

  1. 2011.05.31 연산자
2011.05.31 10:26

- 연산자에는 단항, 이항, 삼항 연사자가 있다.

 

- /, % 연산자 : 피연산자 중에 한 개만 음수 이면 시스템에따라 결과가 다르다.

 ex) 21%-5 = 1 or -4   ,    21/-5 =  -4 or -5

=> 나머지 연산의 부호와 결과값은 분자 또는 분모의 부호 중 하나를 따름. 분자의 부호를 따르는 시스템에서는 나눗셈의 값을 0에 가깝게 만들고, 분모의 부호를 따르는 시스템에서는 나눗셈의 값을 음의 무한대에 가깝게 만든다.

 

- 논리곱 연산자(&&) : a1 && a2 => a1을 false로 평가해 경계조건에서 평가하기 어려운 a2를 평가하지 않도록 할 수 있다는 점에서 유용하다. (예제 C++ Primer p199)

ex) string s("Hello World!");

     string::iterator it = s.begin();

    //. s의 첫 단어를 대문자로 바꾼다

     while( it != s.end() && !isspace(*it) ) //. 빈칸확인 함수

    {

         *it = toupper(*it);

         ++it;

     }

 

- 관계 연산자는 연이어 쓰지 말것!.

  if( i < j < k) ---->  i < j 의 결과값은 true OR false.

  결국 true(1) , false(0) 1 과 0의 정수값가 k의 값을 비교하게된다.

  즉, 예상치못한 버그를 발생....

 

- 부호 비트( ~, <<, >>, &, |, ^ )를 사용할땐 unsigned타입을 사용. 시스템에 따라 부호비트를 처리하는 방법이 다를 수 있다.

 

- 전위, 후위 연산자(++, --) : 후위 연산자는 필요할때만 사용하자!

why? 후위는 증가되기전의 값을 반환하기 때문에 값의 복사가 일어난다. 즉, 복잡한 반복자 타입과 같이 사용될때 성능의 차이를 발생시킨다

신고
Posted by 우엉 여왕님!! ghostkyow

티스토리 툴바