728x90
# define ATOMIC_ADD(type, var, val) ATOMIC_ADD_##type(var, val)
위 전처리문은 메타 프로그래밍 기법으로, 코드를 작성하는 코드이다.
ATOMIC_ADD(int, a, 5);
ATOMIC_ADD(float, b, 4.5);
위와 같이 선언할 시,
ATOMIC_ADD(type, var, val)은 ATOMIC_ADD_##type(var,val) 로 정의되었으므로
각각
ATOMIC_ADD_int(a,5);
ATOMIC_ADD_float(b,4.5);
와 같이 정의된다.
이와 같은 메타 프로그래밍 기법은 코드의 유연성과 확장성을 높이며, 타입별 연산 함수와 같이 여러 버전이 필요할 경우 관리하기 편하게 만들어준다.
728x90
'C, C++' 카테고리의 다른 글
함수 호출 방법들 (0) | 2023.12.24 |
---|---|
'함수 이름'을 인자로 받아 해당 함수를 실행하는 방법들 (0) | 2023.11.20 |