http://groups.google.co.kr/group/comp.lang.c++/msg/99ece1acd4188994
핵심은 이렇습니다.
x = 0 일때
x += ++x + x++; 라고 하면 x 는 얼마인가? ..입니다.
결론은 돌려봤을 때, 컴파일러마다 다르답니다.
그러나 왜? 라는 물음을 던지기 시작하신다면,
몇 시간의 선문답 아닌 선문답을 스스로에게 하게 될 것입니다.
의미 없는 고민은 절대로 아니라고 생각합니다.
하지만 제가 이른 아침부터 지금까지 고민을 조금 해본 결과...
(물론 제가 좀 아둔해서 이해가 팍팍안되고, 근본이 . 워낙 ...xyz 하다보니...
여러분들은 단박에 답이 "탁" 하고 나올수도 있으실겁니다. 하지만 저는 아니었네요 ㅜ_ㅠ )
할 필요가 없더라는 겁니다. .. 답이 어떻든 뭐가 문제입니까?
저렇게 쓰게 되는 경우를 만들면 안되는게 결론이 아닐까 싶습니다.
더 간단한 결론은, 이렇습니다.
제가 학교 다닐때 가장 존경하는 교수님께서 가르쳐 주신 내용입니다.
(사실, 이 부분에서는 대갈 하셨다고 봐야겠지요. )
"부작용(이면효과 , Side Effect)에 대한 확실한 제어
를 자신하고 설사 제어 가능하더라도,
단항 증감 연산자(Unary Decrease/Increase Oprator)
는 단독으로만 사용하라."
였습니다.
저는 그 말씀에 상당히 동의를 합니다.
물론 저기에서의 단독이 정말 x++; 혹은 ++x; 와 같은 정도로만 사용하라는 것은 아닐것입니다.
단항 증감 연산자를 식(expression) 혹은 문(statement)에 남발/떡칠을 해가면서까지,
난해하게 타이핑 해야되는 코드는 없지 않을까? 하는게 제 생각입니다.
꽁지말 - 저 문제에 대해 속 시원하게 설명해주실분 계신가요?
꽁지말 2 - .. 첫 글이 너무 황당무계한 글이군요.. 쩝.
꽁지말 3 (추가) - 진작에 대학때 보던 교재를 빼들었더라면, 시간낭비는 없었을 것 같습니다.
교수님의 말씀에 별표를 엄청나게 쳐놓았더군요. 그러나 .. 지금의 저는 .. 답답하군요 ㅜ_ㅜ..
원론적으로 봐서는 저 문제는 상당히 중요한 문제입니다. 하지만, 실제로 어떤 문제해결을
위한 코딩을 하면서에 있어서는 저 문제는 의미가 없다라고 생각됩니다.
위에서도 제 생각을 밝혔지만 저런식의 코딩이 나와서는 안된다.. 이것이 실제의 문제겠지요.
그럼 이만 총총총........ 오타가 많더라도 이해를...
눈팅만으로는 전체글을 볼 수 없습니다. 로그인하셔야 합니다.