2011-12-23 4 views

답변

34

아니, 그 방법을 사용하는 경우 둘 사이에 아무런 차이가 없습니다. 후자 형태 (defined() 사용)는 초기 #if 또는 후속 #elif 조건 중 하나가 더 복잡한 테스트를 필요로 할 때 유용합니다. #ifdef은 여전히 ​​작동하지만이 경우 #if defined()을 사용하면 더 명확해질 수 있습니다. 예를 들어 둘 이상의 매크로가 정의되어 있는지 테스트하거나 특정 값과 같은지 테스트해야하는 경우

분산 (파일에서 둘 다 사용)은 위에서 언급 한 것처럼 사용법의 특정 미묘함에 따라 달라질 수 있습니다.

3

당신이 준 문맥에서, 그들은 동일합니다 : 당신은 단지 하나의 매크로 식별자의 존재를 확인하고 있습니다.

그러나 #if 형식을 사용하면 표현식을 평가할 수 있으므로 유용 할 수 있습니다.