#define ABS(a)(((a) < (0))?-(a):(a))
#define SWAP(a, b)(a)^=(b)^=(a)^=(b)
#define LIMIT(val, l, h)((val)<(l)?(l):(val)?(h)?(h):(val))
#define SAFE_DELETE(x) if(x) delete x; x = NULL;
#define SAFE_DELETE_ARRAY(x) if(x) delete []x; x = NULL;
#define SAFE_RELEASE(x) if(x) x->Release(); x = NULL;
#define SAFE_DELTE_OBJECT(x) if(x) DeleteObject(x);
#define IS_ARRAY_ACCESS(var, maxval) (0 <= var && var < maxval) ? true : false
#define IS_VALID_VALUE(var, minval, maxval) (minval <= var && var < maxval ) ? true : false
// 조건문매크로
#define IS_TRUE(c) (c)
#define IS_FALSE(c)(!(c))
#define IS_EXIST(c)(c)
#define IS_NOT_EXIST(c)(!(c))
#define IS_VALID(c)(c)
#define IS_INVALID(c)(!(c))
// 포인터매크로
#define IS_NULL(p)(!(p))
#define IS_NOT_NULL(p)(p)
// 컴파일러가 지원하는 매크로
__FILE__ //현재 파일을 스트링으로 반환한다
__FUNCTION__ // 현재 함수를 스트링으로 반환한다. __func__를 써야할 경우도 있음.
__LINE__ // 현재 줄을 정수로 반환한다.
ex) printf("%d", __LINE__); 을 하면 이 프린트 라인의 라인수를 출력해준다
'컴퓨터공학 기초 > C.C++' 카테고리의 다른 글
#define 매크로 개념 설명 (0) | 2013.07.19 |
---|---|
#define 매크로 설명 (0) | 2013.07.19 |
코드 실행 시간 측정 방법 정리 (0) | 2013.05.16 |
const_cast, static_cast, reinterpret_cast, dynamic_cast (0) | 2013.05.06 |
파일출력, 표준출력(cout) 동시에 하기 (0) | 2013.05.02 |