A?B:C 를 많이 쓰시는지요...?
글쓴이: eminency / 작성시간: 수, 2006/01/04 - 11:19오후
C에서의 유일한 3항 연산자인 '?:'에 대한 질문입니다.
사실 저는 다른 사람(회사 내의..)에 비해 많이 쓰는 편입니다만...
사실 막상 쓸 일은 자주 없는 것 같더군요 -_-;
대개 다음의 경우에 저는 씁니다만...
if (A) { c = 1; } else { c = 0; }
c = A ? 1 : 0;
이런 경우 외에는 아주 없진 않지만 사실 거의 없었던 것 같습니다.
특별히 이 연산자를 활용하는 테크닉이나 쓰여야만 할 경우가 있는지 궁금하군요.
경험 많으신 분들의 조언 바랍니다.
Forums:
안쓰려 하는 이유는 가독성저하 밖에 없다고 봅니다.제 눈에는 3항 모
안쓰려 하는 이유는 가독성저하 밖에 없다고 봅니다.
제 눈에는 3항 모두 단순하면 if보다 가독성이 더 높아보이기 때문에
자주 사용합니다.
https://xenosi.de/
테크닉이라고 할 것까지는 없고, 삼항 연산자는 if-else와 의미가 같
테크닉이라고 할 것까지는 없고, 삼항 연산자는 if-else와 의미가 같습니다만
중요한 차이는 삼항 연산자는 수식(expression)이고 if-else는 문장이라는 것입니다.
예를 들어 위의 코드를 약간 변형해 봅시다.
함수를 호출하기 위해 별 쓸모도 없는 변수 c를 선언하고 길게 늘여썼습니다.
삼항 연산자를 쓰면 f(A ? 1 : 0) 만으로 되죠. 함수 인자에는 문장이 아닌 수식을
써야 하기 때문에 이 경우 삼항 연산자는 아주 간편한 방법을 제공합니다.
함수의 반환값에 대해서도 마찬가지 얘기를 할 수 있고요.
또한 대부분의 매크로는 수식처럼 쓰일 수 있도록 정의하는데 이때는 if-else를
쓸 수 없습니다. (gcc의 확장에 문장을 수식처럼 쓸 수 있도록 하는 기능이 있지만
이식성은 없으니 논외로 하겠습니다.)
저도 잘 안씁니다만, perl 쓸때 한번씩 씁니다.perl 은 한문장
저도 잘 안씁니다만, perl 쓸때 한번씩 씁니다.
perl 은 한문장이라도 반드시 {} 를 해줘야 하기때문에, 이리저리 curly brace가
난무하면 화가 나더라고요. 또 statement if (condition); 이거 별로 안좋아해서,
condition ? stmt1 : stmt2 종종 합니다.
삽질의 대마왕...
C++에서 const 변수를 사용하기 위해서 종종 사용합니다.예를
C++에서 const 변수를 사용하기 위해서 종종 사용합니다.
예를 들어
const int a = ((b > 30) ? 1 : 40);
이런식이죠.
이 문장을 if문으로 바꿔서 쓰게 되면 const int 형 변수로 쓰는게 더 복잡해지거든요...
일하는 사람들의 희망 민주노동당 : http://www.kdlp.org
반공 교육의 성과로, 민주주의의 반대가 공산주의(또는 사회주의)라고 생각하는 사람이 많다.
int, bool 의 변환할 때등 간단할 때만 씁니다.[code:
int, bool 의 변환할 때등 간단할 때만 씁니다.
-----------------------------------------------------------------------
GPL 오픈소스 윈도우용 이미지 뷰어 ZViewer - http://zviewer.wimy.com
블로그 : http://blog.wimy.com
전종종 쓰는데요.. if 문 만큼이나 자주 애용하는데..예
전종종 쓰는데요..
if 문 만큼이나 자주 애용하는데..
예를들자면.. aaa( a, b? c : d ) 등으로 쓰죠..
여기에 if 문쓸순 없으니까요..
같은 예지만. 매개변수에 NULL 이 들어가지 않게 하기위해서도
aaa( str ? str : "" ) 라고 줄수도 있습니다.
----------------------------------------------------------------------------
저도 종종 씁니다. 저는 reaction = ( you == babo ?
저도 종종 씁니다. 저는 reaction = ( you == babo ? merong : good ) 식으로 항상 물음표 앞에 비교식을 써줍니다. if-else 보다 눈에 더 잘 들어오더군요 - 간단한 경우에는요.
ruby에서도 ---? 처럼 물음표로 끝나는 method들이 눈에 잘 들어오던데요.
무엇보다도 요즘에는 코드의 readability 가 중요한 것 같습니다.
--
http://www.deisys.net
댓글 달기