음... 재미있네요.
result = a && ++b;
1. short circuit evaluation의 관점에서는 다음과 같이 볼 수가 있겠고
if (a)
{
if (++b)
result = true;
}
else
result = false;
2. standard boolean operator의 관점에서 본다면 질문쟁이님의 얘기가 맞는 말이고
http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B
short circuit evaluation 이라는 놈을 최적화 과정으로 봐야 하느냐, 아니면 정식 원래 문법으로 봐야 하느냐...
저도 잘 모르겠네요, 헷갈립니다.
질문쟁이 님이 쓰신 글 :
: && 연산자가 왼쪽이 거짓(0)이라면 다음에 아오는 연산 즉, (연산1 && 연산2) 연산 2 실행을 안하고 넘어간다...
: 이건 아는데요.
: 연산자 우선순위상 ++b가 먼저 실행되야하지 않느냐 그걸 물어본겁니다.
: (++b)로 해도 실행이 안되더군요.
|