https://www.youtube.com/watch?v=GUgX9eV_Bu0&list=PLDV-cCQnUlIY4TMoRsrW0oqjCLTSm1nAf&index=4
참조하였음
ABCD가 정의되어있으므로
ifdef ABCD가 참이므로
std::cout << "1: yes\n";
밑에서 #elif ABCD==2 => 2==2가 되므로
std::cout << "2: yes\n";이 됨
전체적으로 위 두개만 남게 됨
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#define ABCD 2
#include <iostream>
int main()
{
#ifdef ABCD
std::cout << "1: yes\n";
#else
std::cout << "1: no\n";
#endif
#ifndef ABCD
std::cout << "2: nol\n";
#elif ABCD == 2
std::cout << "2: yes\n";
#else
std::cout << "2: no2\n";
#endif
}
|
Replace
1
2
3
4
5
6
7
8
9
10
11
12
13
|
#define MAX_UNIT16 65535
#define MAX(a,b) (((a)>(b))?(a):(b))
#include <iostream>
int main()
{
std::cout << MAX_UNIT16 << std::endl;
std::cout << MAX(10,100) << std::endl;
// std::cout << 65536 << std::endl;
// (((10)>(100))?(10):(100)) 과 동일
}
|
중복 헤더 파일 load 방지
#ifndef CAT_H
#define CAT_H
.
.
.
#endif
깔끔하게 #pragma once를 사용한다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
#define MAX_UNIT16 65535
#define MAX(a,b) (((a)>(b))?(a):(b))
#include <iostream> // standard library
#include <limits> // user specific header
constexpr int ABCD = 2;
int main()
{
std::cout << MAX_UNIT16 << std::endl;
std::cout << MAX(10,100) << std::endl;
// std::cout << 65536 << std::endl;
// (((10)>(100))?(10):(100)) 과 동일
// 그러나 replace는 좋지 않다.
// standard library 함수를 쓰자
// constexpr 을 사용하자
std::cout << std::numeric_limits<uint16_t>::max() << std::endl;
std::cout << std::max(10, 100) << std::endl;
std::cout << __FILE__ << std::endl; // 현재 cpp 파일 이름
std::cout << __LINE__ << std::endl; // 코드에서 몇번째 줄인지
std::cout << __DATE__ << std::endl; // 현재 날짜(컴파일 기준)
std::cout << __TIME__ << std::endl; // 현재 시간(컴파일 기준)
}
|
header file은 컨트롤 + c ,컨트롤 v의 영역임(붙여넣기 기능)
header file에 상응하는 cpp 파일은 header file을 불러 온다.(붙여넣기 기능)
하지만 header file에 없는 별도의 함수를 추가할 수 있으며 이는 main 함수와 링킹 과정에서 합쳐진다.
'C' 카테고리의 다른 글
c++ stack 공간, class, struct, 타입별 메모리 사이즈 (0) | 2021.06.22 |
---|---|
c++ extern static 기록 정리 (0) | 2021.06.22 |
[C언어] 최소공배수 구하기 (정보처리기사 외) (0) | 2019.06.18 |
[c 언어] 소수의 개수 구하기 (1차원배열, do~while, while, if, 정보처리기사 외) (0) | 2019.06.18 |
[C 언어] 최대공약수 구하기 (정보처리기사 외) (0) | 2019.06.18 |