본문 바로가기
programing/C++

가변 함수

by RedWiz 2017. 4. 5.

- 형식은 마지막 인수로 ...  붙임


- va_list ap

> Argument Pointer

> 스택에 있는 인수를 읽을 때 포인터 연산을 해야 하는데 현재 읽고 있는 번지를 기억하기 위한 포인터 변수


- va_start(ap, 마지막 고정인수)

> ap 포인터 변수가 첫 번째 가변 인수를 가리키도록 초기화

> 첫 번째 가변 인수의 번지를 조사하기 위해 마지막 고정 인수를 전달

> 마지막 고정인수로서 가변 인자의 갯수를 넣어서 활용하면 좋음


- va_arg(ap, 인수 타입)

> 가변 인수를 읽음

> 내부적으로 매크로 함수

> 타입은 잘 맞춰주면서 사용해야 함


- va_end(ap)

> 호환성 때문에 사용

> 플랫폼에 따라 가변 인수를 읽은 후에 뒷처리 해야 함

> 호환성을 위해서 관례적으로 넣어서 사용


'programing > C++' 카테고리의 다른 글

함부로 인수에 레퍼런스 타입을 넣으면 안된다.  (0) 2017.04.07
typedef 상수 포인터  (0) 2017.04.07
final, override, interface  (0) 2017.04.03
__super 키워드  (0) 2017.03.30
서브 시스템으로 콘솔창 띄우기  (0) 2017.03.27