[BOOL vs. bool]

more..


[boolean 자료형과 라이브러리]

more..

김샘. 님께서 쓰신 내용입니다. (윗 내용)

주소 : http://cafe.naver.com/applekoong/379

주소2: http://woos798.tistory.com/entry/BOOL-vs-bool 사진이 있어 보기 편하다!

bool은 char로 만든 1byte
BOOL은 int로 만든 4byte

개인적인 생각

단순히 0과 1로만 판단될것이라면 bool 로 쓰고 0이 아닌 값을 참으로 볼때는 BOOL 로 쓰면 될것 같지만, 두개의 문자가 대소문자만으로 구별하기에는 약간 모호성이 존재 한다.

그리고 windows.h를 포함해야지만  BOOL을 쓸수 있다.(일반적인) 그렇기 때문에 bool 로 쓰는것으로 제약을 걸면 속편할것으로 생각 된다.


posted by 농사를 짓는 게임 프로그래머 최익필

댓글을 달아 주세요

  1. highsummer 2008.12.18 18:38 신고  Addr  Edit/Del  Reply

    좋은 정보 감사합니다

  2. Favicon of http://blog.naver.com/nineye09 nineye 2008.12.19 11:34 신고  Addr  Edit/Del  Reply

    저의 경우 boolean 형은 사용하지 않습니다.
    왜냐면 프로그램은 어떤 동작을 할지 예측할 수 없기 때문에,
    나타날 수 있는 모든 상황을 체크해야 하기 때문이죠. 예를 들면, 어떤 함수의 동작이 실패하는 원인은 메모리 할당 실패, 파일 읽기 실패, 파일 열기 실패, 어떤 조건을 충족시키지 못해서 발생하는 실패 등등.. 여러 가지 요인이 있을 수 없습니다. 따라서 이러한 다양한 실패를 단지 false라는 형태로 표현하기는 어렵다는 것이죠.
    물론 exception으로 이러한 실패를 처리할 수도 있겠지만 아시다시피 exception은 실행 시간에 큰 부담으로 작용합니다. 또한 linux에서는 thread에 독립적인 errno를 제공하긴 하지만 이것을 이용하면 platform independent 코드를 작성하기가 어렵죠.
    따라서 저는 모든 함수의 리턴 값을 int형으로 처리합니다. 발생할 수 있는 모든 오류 상황을 특정 코드로 정해 놓고, 그 코드를 체크하면 가장 밑바닥에서 가장 위까지 어디서 어떤 원인때문에 실패했는지 디버깅 툴이 없어도 한눈에 알 수 있게 되죠.
    만약 가장 위쪽의 코드의 함수에서 false를 리턴값으로 받으면, 왜 false가 발생했는지 그 함수가 호출한 함수... 함수... 함수 들이 어떻게 동작했는지 일일이 디버깅 해야 하기 때문에 큰 부담이죠.. 제 생각에는 디버깅이 필요 없는 코드를 작성하는 것이 프로그래머의 생활을 더욱 나아지게 하는 지름길이 아닐까 생각되네요...