variadic template

phoenixKim·2022년 3월 27일
0

temp

목록 보기
4/11

가변 인자 함수란?

: 매개변수의 수를 자유롭게, 자료형도 자유롭게 사용하는 함수를 말함.

  • 인자가 없어도 됨, 한개 있어도 됨, 다수가 있어됨, 형식이 모두 달라도 됨.
  • 가변 인수를 배열 형식으로 넘김
  • 첫 번째 인수에 배열의 크기를 설정함.
  • 배열을 컴파일러가 만들어줌.

언제 사용할까?

: 여러 타입의 종류를 처리할때, 템플릿도 있음.

가변 인자 기초 예시

: 갯수와 int형에 대해서만 처리한 예시

-> c언어의 printf 함수와 scanf 함수가 가변함수임.

  • 매크로 함수
    : va_start, va_arg, va_end 의 경우 매크로 함수임.

va_arg는 다음 메모리를 참조한다는 의미.로 받아들이자.

기본 내용


  • 코드누리 템플릿

공부한 코드


-> Types는 관례상 여러 개의 자료형이나, 인자가 들어올 수 있으므로 복수형으로 작성함.
-> 관건은 Types로 보낸 인자를 어떻게 꺼낼 것인지가 관건임.

  • 함수 템플릿의 args를 여러개의 값이 들어 있으며, 이를 "파라미터 팩"이라고 함.
    파라미터들의 묶음 이라는 의미임.

파라미터 팩

pack expansion

: ...을 이용해 팩을 분해하는 것을 말함.

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보