在C ++ / C中有什么类似方法/函数的标记吗?

在Objective-C中你可以这样说:
NSArray *anArray = [NSArray arrayWithObjects:obj,obj2, nil];
如果你不熟悉objective-c,它说我想要一个NSArray类型的对象,anArray,我想调用方法arrayWithObjects然后它作为一个标记并接受尽可能多的参数(在这种情况下是对象)直到它达到零。 有没有办法实现这样的事情:
createObjects(o1,o2,o3,o4,-1);
函数方法可以接受多少参数,直到达到某个键值为止? 现在,我知道你可以用C和C ++做哨兵的东西,但是有没有办法像Objective-C那样提供像这样的方法?     
已邀请:
您可以编写可变参数函数并使用标记来查找最后一个真实参数。 但是,在C ++中,这通常是一个坏主意,因为可变参数函数不是类型安全的。在C ++中,首选将要传递的元素放入某种容器,数组或类对象中,然后将其传递给函数。它更容易出错,更容易验证。     
我认为你要找的是varargs。     

要回复问题请先登录注册