Share via


토큰 붙여넣기 연산자 (# #)

이중 숫자 기호 또는 "토큰 붙여넣기" 연산자 (#), 때로는 "병합" 연산자를 호출 개체와 같은 함수와 비슷한 매크로에 사용 됩니다.별도 토큰을 토큰에 포함 시킬 수 있도록 하 고 따라서 첫 번째 또는 마지막 토큰 매크로 정의 될 수 없습니다.

매크로 정의의 형식 매개 변수가 없거나 앞에 토큰 붙여넣기 연산자가 뒤에 경우 확장 되지 않는 실제 인수에서 형식 매개 변수 바로 바뀝니다.매크로 확장 인수 교체 하기 전에 수행 되지 않습니다.

각 항목 다음에 토큰 붙여넣기 연산자를 토큰 문자열 제거 되 고 이전 및 다음 그 토큰을 연결 하 고 있습니다.결과 토큰은 올바른 토큰 이어야 합니다.이 경우 매크로 이름을 표시 하는 경우 토큰 가능한 대체에 대 한 검색 됩니다.식별자가 연결 된 토큰 교체 하기 전에 프로그램에서 인식 하 게 하는 이름을 나타냅니다.각 토큰을 프로그램 내 또는 컴파일러 명령줄에 다른 위치에 정의 된 토큰을 나타냅니다.앞 이나 뒤에 연산자 공백은 선택 사항입니다.

이 다음 프로그램의 출력을 지정 하 두 화 및 토큰 붙여넣기 연산자의 사용법을 보여 줍니다.

#define paster( n ) printf_s( "token" #n " = %d", token##n )
int token9 = 9;

숫자 인수는 매크로 호출 하는 경우와 같은

paster( 9 );

매크로 생성

printf_s( "token" "9" " = %d", token9 );

printf_s( "token9 = %d", token9 );

예제

// preprocessor_token_pasting.cpp
#include <stdio.h>
#define paster( n ) printf_s( "token" #n " = %d", token##n )
int token9 = 9;

int main()
{
   paster(9);
}
  

참고 항목

참조

전처리기 연산자