카테고리 없음

#연산자, ##연산자

zuyo 2019. 5. 9. 01:26
반응형

# 연산자 

문자열 내에서의 매크로 매개변수를 치환해준다.

예를 들어, [ FUNC(나,천재) → 나는 천재다 ] 와 같은 매크로 함수를 만들고 싶다면..

#define FUNC(A,B) "A는 B다" --- (x, 'A는 B다'를 출력한다)
#define FUNC(A,B) #A "는 " #B "다" --- (o)

// 문자열을 나란히 선언하면 하나의 문자열로 간주함
char* str = "ABC" "DEF"; // char* str = "ABCDEF";  

## 연산자

이어 붙이기

학번 112290은 입학년도11 + 학과코드22 + 고유번호90 의 조합이다.
따로따로 있는 값들을 이어 붙여 하나의 학번으로 만들어 주려면?

#define NUM(Y,S,P) YSP --- (x, 에러)
#define NUM(Y,S,P) Y S P --- (x, 에러)
#define NUM(Y,S,P) Y##S##P --- (o)

#include <iostream>
using namespace std;

#define FUNC5(A,B,C) A##B##C

int main()
{
	cout << FUNC5(1991, 04, 17) << endl;
}

// 출력 : 19910417
반응형