[Macro함수] 라이브러리 개발시 do while(0) 를 사용하는 이유
우리가 흔히 아는 문법인 do while은 잘 사용하지 않은 문법입니다. 하지만 라이브러리를 개발할 시에 do while 0 문은 아주 안정한 라이브러리 개발을 위해 반드시 사용해야할 usage가 있습니다. 지금부터 그것을 소개 해볼게요~ C나 C++로 작성된 라이브러리에서 많이 볼수 있는데 라이브러리 코드 내에서 매크로 함수의 사용성은 아주 많습니다. 라이브러리안 매크로 함수와 라이브러리를 사용하는 사용자의 코드간 문제를 한번 다뤄 보겠습니다. #include #define SWAP(X, Y, T) { T t = X; X = Y; Y = t; } int main() { int a = 10, b = 20; if (true) SWAP(a, b, int); // 별 문제 없을 것 같았지만, 여기서 문제가 생..
C
2023. 7. 25. 12:52