| |
|
|
|
|
|
최근 주로 윈도우즈 응용 어플 프로젝트를 진행하면서 Visual C++에서 bool 형을 자주 쓰게 되었다. 그리고 익숙해진 컴파일 경고가 "성능경고"이다.
그때 마다 드는 생각이 "우씨! bool 이거 왜 있는 건데?" 였다. 마침 자주 들리는 블로그에서 이에 대한 글을 발견하였다.
"VC++에서 bool이 가지는 의미"
bool 1바이트 사용 BOOL 4바이트(int형) 사용
결론적으로 변수 자체의 공간은 bool이 BOOL과 비교하여 많이 절약되나 각종 비교 연산 및 논리연산에서 bool보다 BOOL이 더 적은 기계어 코드를 생산한다는 것이군요.
이것 또한 더 생각해 보면 bool 로 선언된 변수 자체는 많지 않고 코드상에서 해당 변수를 사용한 연산이 많은 곳에 분포되어 있다면 성능 뿐만 아니라 전체 공간 사용에 있어서도 결코 유리하다고 볼 수 없겠네요.
흠... C++에서 bool 형을 왜 추가한걸까? --; 이에 대한 궁금증은 위 문서에도 있지만 http://www.glenmccl.com/bool_cmp.htm 여기를 보시면 ...
결론적으로 C++의 함수 Overloading 개념을 적용하는 데 있어 기존 BOOL을 가지고는
void f(int i) {} void f(BOOL b) {}
이 불가능하다는 것과 기존 BOOL이라는 타입이 갖고 있는 잠재된 문제점인
BOOL b = 37; if(b == TRUE) // 0을 리턴할 것임 : fail.
을 개선하기 위한 것으로 보입니다.
|
|
|
| Track this back : http://www.codeforum.net/blog/pitoosung/trackback/65 |
|
|
|
|
«
2010/09
»
| 일 |
월 |
화 |
수 |
목 |
금 |
토 |
| |
|
|
1 |
2 |
3 |
4 |
| 5 |
6 |
7 |
8 |
9 |
10 |
11 |
| 12 |
13 |
14 |
15 |
16 |
17 |
18 |
| 19 |
20 |
21 |
22 |
23 |
24 |
25 |
| 26 |
27 |
28 |
29 |
30 |
|
|
|
Total : 70722
Today : 1
Yesterday : 60 |
|
|
|