인라인 함수와 매크로의 차이
2025. 3. 10. 22:14ㆍ개발자 능력치 물약/C++
매크로
C언어에서 매크로기능을 이용해 원하는 함수나 변수를 정의해서 쓸 수 있었다.
#define PI 3.141592
#define WINSIZE_X 1080
#define WINSIZE_Y 500
#define DEG_TO_RAD(degree) ((3.14 / 180.0) * degree)
매크로의 장점 : 함수 호출이 필요없다.
매크로의 단점: 디버깅이 힘들다. 함수가 길어지면 불편하다. 남발하면 소스코드의 길이가 길어진다.
타입체크 무시, namespace 무시한다.
인라인함수
// 매크로 :
#define MUL(x,y) ((x)*(y))
// 인라인 :
inline int MUL(int x,int y) {
return x*y;
}
inline 키워드를 함수명 앞에 붙이면 컴파일러가 알아서 함수를 최적화 해준다.
매크로 와 인라인함수의 차이)
1. 매크로는 전처리기에서 처리, 인라인은 컴파일러에서 처리
2. 매크로는 타입체크를 안하지만 , 인라인은 타입체크를 해줌
요즘은 컴파일러의 성능이 매우 좋기때문에 인라인함수를 쓰는 습관을 가지자.
'개발자 능력치 물약 > C++' 카테고리의 다른 글
백준 14490 백대열: 문자열파싱/ 최대공약수 구하기 (0) | 2025.03.17 |
---|---|
0315 형변환 , L/Rvalue (0) | 2025.03.15 |
프로그래머스 레벨0: 두 수의 연산값 비교하기 (0) | 2025.02.23 |
프로그래머스 레벨 0: 더 크게 합치기 (0) | 2025.02.23 |
프로그래머스 레벨0_ 문자열 섞기 (0) | 2025.02.23 |