이번은 이전 회의 auto에 이어서 C++0x의 새로운 키워드 중의 하나인 static_assert에 대해서 설명합니다.  내용이 짧고 간단한 것이므로 미루지 말고 지금 바로 보고, 또 머리에 쏙 넣어주세요.^^

 


 

assert #error

C++로 프로그래밍할 때 버그나 에러가 발생할 위험이 있는 부분에 경고를 발생시키기 위하여 assert 매크로나 #error 프리프로세서 디렉티브를 사용합니다.

assert #error 중 보통 assert를 자주 사용합니다.

assert는 논리적인 오류 찾기, 작업 결과 확인, 처리해야 할 오류 조건 테스트를 할때 사용합니다.

 

asser는 실행 시간에 사용하고(보통 디버그 모드에서 사용하죠), #error은 프리프로세스에서 사용합니다(프리프로세스는 #ifdef를 사용할 때를 말합니다).

 

< code. 1 assert 사용 예 >

assert( MinMoney > 100)

 


 

assert #error를 사용할 수 없을 때

assert는 실행 시에 사용하고, #error는 프리프로세스에 사용하기 때문에 템플릿 실체화 시(컴파일 타임)에는 이것들을 사용할 수 없습니다.

 

static_assert는 컴파일 시점에서 실체화할 템플릿의 전제 조건을 조사할 때 사용하면 좋습니다.


계속............


계속해서 글을 보실 분들은 여기에서 보세요 ^^

저작자 표시
신고
by 흥배 2009.04.27 19:32
| 1 |