#ifndef MY_ADD
#define MY_ADD
int add(int a, int b)
{
return a + b;
}
#endif
만약 MY_ADD가 정의되어 있다면 다시 정의하지 마라
이런 의미입니다. 이런 헤더가드가 필요한 이유는 중복이 되지 않게 방지하도록 하기 위함입니다.
#pragma once
헤더 파일을 실행하면 항상 맨 처음에 이 #pragma once라는 것이 있는데 이것이 왜 있는지 처음에 궁금하신 분들이 많으실겁니다. 앞서 말해드린 ifndef define endif 처럼 중복이 되지 않도록 방지해주는 역할을 하는 것이 바로 이 #pragma once입니다.
헤더파일은 웬만해선 반드시 해당 #pragma once 가 들어가야 합니다.
네임스페이스 사용법
#include <iostream>
namespace MySpace1
{
int doSomething(int a, int b)
{
return a + b;
}
}
int doSomething(int a, int b)
{
return a * b;
}
using namespace std;
int main()
{
cout << MySpace1::doSomething(3, 4) << endl;
cout << doSomething(3, 4) << endl;
return 0;
}
그냥 doSomething을 할 경우 2번째 값인 12가 나오게 됩니다. 따라서 MySpace::doSomething을 해주어야지 namespace안에 있는 a + b값이 나오게 되는데요.
전처리기
#include <iostream>
using namespace std;
#define MY_NUMBER 9
int main()
{
cout << MY_NUMBER << endl;
return 0;
}
매크로를 하면 MY_NUMBER 9 이면 MY_NUMBER을 입력하면 9를 출력해줍니다. 9는 유동적으로 변경할 수 있습니다. 9 대신에 "Hello, World!"를 넣어줘도 됩니다.
매크로 (#define)은 누굴 만나면 다음 꺼로 교체해준다고 보면 됩니다.
#define MAX(a, b) (a>b) ? a:b 이런 식으로 이 것중에 큰거를 출력하는 매크로를 만들어줄 수도 있습니다.
#include <iostream>
using namespace std;
#define MAX(a, b) ((a>b) ? a:b)
int main()
{
cout << MAX(1,2) << endl;
return 0;
}
물론 요즘같은 경우 매크로를 잘 쓰지는 않는 코딩 시대일수도 있습니다. 하지만 기본적으로 매크로의 사용법을 알아두셔야 합니다. 쓸 수 있는 기능이 있기 때문에 기본적인 것은 알아주셔야 합니다.
참고로 min, max, minmax는 algorithm 라이브러리의 구현되어 있는 함수입니다.
'IT 프로그래밍 > C++' 카테고리의 다른 글
[따배시 2.6] 불리언 연산자와 조건문 if (0) | 2024.03.07 |
---|---|
[따배시 2.3~5] C++ 고정 너비 정수, Void, 부동소수점 수 (0) | 2024.03.06 |
[따배시 1.8~2.0] 연산자와의 첫 만남, 기본적인 서식 맞추기, 정의 (0) | 2024.03.05 |
[따배시 1.6~7] 키워드와 식별자 이름짓기, 지역범위 (0) | 2024.03.05 |
[따배시] 1.5 함수와의 첫 만남 (0) | 2024.03.05 |