※ 불현듯 생각난 주제에, 잘못된 내용을 적어놨네요. 아래 댓글에 kevin님이 지적해주신대로,
값을 맞바꾸는게 아니라 서로 exclusive한 두 bool 값을 토글하는 로직에 대한 내용이었습니다. 어디서 봤던 글인지 출처가 생각이 안 나서 원래 맥락을 모르겠네요. 이게 대체 왜 필요한 거였지...? -_-)a
그냥 불현듯 생각나서.
타입에 관계없이 변수 두 개의 값을 맞바꿀 때에는 보통(=아무 생각 하기 싫을 때) 임시 변수를 사용하곤 한다:
BOOL a = true;
BOOL b = false;
BOOL temp;
temp = a;
a = b;
b = temp;
뭐 이런 식.
근데 게시판을 둘러보다 보니 누군가 'bool 타입의 변수라면 코드를 더 축약할 수 있지 않느냐?'는 취지의 글을 써 놓았다. 그 글을 보고 (답을 보기 전에) 나는 이런 코드를 생각했다:
BOOL a = true;
BOOL b = false;
b = !(a = b);
근데 그 글의 답은 이거였다:
BOOL a = true;
BOOL b = false;
a = b;
b = !a;
쉬운 코드 작성하기는 쉽지 않구나. 역시 난 틀렸어(?)
'TechLog' 카테고리의 다른 글
iOS 카카오톡에서 무료통화(보이스톡) 기능 신청 버튼이 나타나지 않는 경우 (0) | 2012.06.13 |
---|---|
MySQL의 데이터를 불러올 때 System.DateTime 변환 관련 오류 나는 경우 (0) | 2012.05.25 |
Windows Phone 7.5의 UDP 소켓 멀티캐스트 예제 (0) | 2012.03.27 |
Nexus S와 호환되는 안드로이드 앱 만들기 (0) | 2012.03.27 |
django 개발 서버에서 https 연결 사용하기 (0) | 2012.03.26 |