bool을 부울에 어떻게 캐스팅합니까?
문제
이 구성을 통해 C ++ bool을 Windows API BOOL에 캐스팅하는 데 안전합니까?
bool mybool = true;
BOOL apiboolean = mybool ? TRUE : FALSE;
나는 명백한 문제가 없기 때문에 이것이 예라고 생각하지만, 나는 그것이 나타나는 것보다 더 미묘 할 수 있기 때문에 잠시만 물어보고 싶었습니다.
Dima에게 (부드럽게) 부주의를 지적하여 원래 질문을 표현한 방식으로 지적했습니다.
해결책
당신은 의미합니까?
bool b;
...
BOOL apiboolean = b ? TRUE : FALSE;
그렇다면 그렇습니다. 그렇습니다.
다른 팁
예, 그것은 효과가있을 것입니다
bool b;
...
BOOL apiboolean = (BOOL) b;
반대와 마찬가지로도 작동해야합니다.
bool bb = (bool) apiboolean;
Visual Studio 2005는 단순히 다음을 수락합니다.
bool b = true;
BOOL apiboolean = b;
캐스팅이 필요하지 않습니다.
다른 방법은 라운드 부울-> bool이 단순히 이와 같이 작동하지 않습니다.
제휴하지 않습니다 StackOverflow