我正在寻找答案,但找不到任何相关信息。让我们举个例子:
class MyClass
{
//member functions and variables
};
void foo(int pivot,...)
{
va_list arguments;
va_start(arguments,pivot);
//va_arg(arguments,???)
va_end(arguments);
}
void bar()
{
MyClass a;
MyClass * b = &a;
const MyClass & c = a;
foo(0,a,b,c);
}
论据如何a
,b
并c
通过?按值,或按引用以及如何使用 va_arg 要求它们?MyClass 的构造函数/析构函数呢?在 c++ 标准中,这种行为是在哪里指定的?