C++ 관련 문제인데 매개변수를 많이 사용할 수 있다는것이 오버로딩인지 가변인자 매크로를 사용하는 건지...
글쓴이: breakd / 작성시간: 일, 2012/10/14 - 8:57오후
제가 영어 번역을 못하는건지 문제 자체를 이해 못하는 건지 모르겠네요;
프로그래밍 언어론 교재에서
C++ also allows functions to accept more parameters than those specified in the function definition. Why and how is this possible?
라는 문제가 있는데
이게 함수의 오버로딩에 대한 문제인지 함수 가변인자에 관한 내용인지 모르겠네요.
가변인자는 C 에서도 쓸 수 있는 걸로 아는데...(맞죠?)
allows to 가 문장에 있다는건 C 에서는 없는데
C++에서는 허락한다는 의미가 내포되어 있는 것 같으니 가변인자는 아닌 것같은데
해석을 해보면 또 함수 정의에 기술 된 것 보다 더 많은 파라미터 받아들이는 걸 허용한다는데
또 이렇게 놓고보니 오버로딩인가 싶기도 하고..
게다가 영어 해석 질문인 것같아서 여기 질문 드리는 것도 애매하네요.. ㅜㅜ
Forums:
영어 해석은...
c++에서는 또한(마찬가지로) 함수 정의에서 정해진 파라미터 수보다 더 많은 수의 파라미터를 사용해도(함수 호출시에) 문제가 발생하지 않는다. 왜 그리고 어떻게 그런일이 가능한가?? 같은데요...
제 생각 역시 가변인자에 대한 설명인 듯 한데요.
gilgil.net
C/C++에서는 "va_list"라는 특별한 type이 있습니다.
"vsprintf"로 검색해 보세요.
http://www.cplusplus.com/reference/clibrary/cstdio/vsprintf/
www.gilgil.net
C에 대해서는 언급하고 있지 않은데 어째서 C에서는
C에 대해서는 언급하고 있지 않은데 어째서 C에서는 안되고 C++에서는 되는 기능이라고 해석이 가능한거죠? 전후 맥락이 C와 C++을 비교하는 문장인 건가요?
오버로딩은 정의되지 않은 파라메터를 받아들이는게 아니라 파라메터에 따라서 같은 이름의 함수를 중복 적재하는 것입니다.
댓글 달기