What are variadic functions in accordance with C and C++?

前端 未结 3 787
耶瑟儿~
耶瑟儿~ 2020-12-22 04:26

I am confused. As i asked the question previously about overloading in C, i got some answers.

Whenever i try to make others understand about this, I get confused in

3条回答
  •  时光说笑
    2020-12-22 05:12

    A variadic function is a (single) function that can be called each time with a different number of arguments. Some variadic functions, like printf, even allow you to use different types of arguments.

    The big difference with overloading is that with a variadic function, you have one single function that is designed to handle a different set or arguments for each call. With overloading, you create several different functions, where each function handles a different set of parameters.

    One thing that all variadic functions have in common is that there must be a way to tell the function what set of arguments is being passed now. The two common ways are:

    1. One of the first, fixed, parameters describes the variable part. For example, the format string of printf
    2. The last parameter has a special value that indicates 'we are done'. For example, the execl function requires the parameter list to be terminated with a (char*)NULL parameter.

提交回复
热议问题