매크로

[기술 질문] #4_#define, 매크로 C++의 "#define" 키워드에 대해 알아보겠습니다. Overview 개념 코드 개념 1. #define #define PI 3.14 Details #define으로 정의된 기호 상수 등은 전처리기가 확장 문자열로 변환합니다. #(전처리 지시자) + define(정의하다) 주의할 점은 ";"을 붙이면 함께 치환되어 문제가 발생할 수 있습니다. 숫자 상수로 대체된 소스코드는 컴파일 에러 발생 시 찾기 어렵습니다. 유지보수에 문제가 발생합니다! 결과적으로, #define 보다 const를 활용하는 것이 더 효율적입니다. 2. 매크로 함수 #define Add(a,b) (a + b) #define PLUS(a,b) a+b Details 일반 함수 호출은 함수가 위..
[Effective C++] #2_#define 사용의 대안 Scott Meyers의 "Effective C++"를 통해, C++ 구현에 필요한 개념들을 이해하고, 기록하기 위함입니다. 해당 항목은 1장 'C++ 기본', 항목 2 "#define을 쓰려거든, const, enum, inline을 떠올리자"에 해당하는 내용입니다. 1. #define, 매크로 const, 상수 #define ASPECT_RATIO 1.653 const double AspectRatio = 1.653; "#define" 사용의 경우 소스코드가 컴파일러에게 넘어가기 전, 선행 처리자가 "이름"을 밀어버리고, 숫자 상수로 바꾸어버립니다. 결과적으로, "ASPECT_RATIO"는 컴파일러가 사용하는 기호 테이블에 들어가지 않습니다..
Hardii2
'매크로' 태그의 글 목록