매크로에서 return을 쓰면 그 값을 반환하는 거라 생각하신 듯 하네요. 하지만 C/C++의 매크로는 단순 치환에 불과하기 때문에, 저런 내용을 실제로 쓰면 return 문은 그 매크로가 사용된 함수로부터 빠져 나오는 역할을 하게 됩니다. (말 그대로 단순 치환이니까... return을 그대로 쓰는 것과 같죠) doldori 님께서 쓰신 것처럼 저런 종류의 매크로는 하나의 수식으로 표현될 수 있게 만들어야 하거나, inline function으로 대체하는 것이 좋습니다.
return을 쓴 걸 보니 함수인가 보죠? 하지만 간단하게 식으로 표시할
return을 쓴 걸 보니 함수인가 보죠? 하지만 간단하게 식으로 표시할 수 있습니다.
매크로를 사용한다면 그냥 있는 그대로 두는게 더 깔끔할듯 하군요.저
매크로를 사용한다면 그냥 있는 그대로 두는게 더 깔끔할듯 하군요.
저 상태 그대로가 그냥 보기 편합니다.
만약 매크로를 사용하기 싫으시다면...
하면 되겠군요...
저같으면 그냥 함수로 만들어 사용하는편에 한표 입니다.
매크로 자체가 가독성과 디버깅을 어렵게 하기 땜시...
WOW Wow!!!
Computer Science is no more about computers than astronomy is about telescopes.
-- E. W. Dijkstra
Re: 매크로를 깔끔하게 만들고 싶습니다.
매크로에서 return을 쓰면 그 값을 반환하는 거라 생각하신 듯 하네요. 하지만 C/C++의 매크로는 단순 치환에 불과하기 때문에, 저런 내용을 실제로 쓰면 return 문은 그 매크로가 사용된 함수로부터 빠져 나오는 역할을 하게 됩니다. (말 그대로 단순 치환이니까... return을 그대로 쓰는 것과 같죠) doldori 님께서 쓰신 것처럼 저런 종류의 매크로는 하나의 수식으로 표현될 수 있게 만들어야 하거나, inline function으로 대체하는 것이 좋습니다.
- 토끼군
댓글 달기