При разработке класса или функции, какой из способов, показанных ниже, лучше и почему?
class Container {
//Provide this functionality??
void addItemVariadic(const Value& val, ...);
//Or provide this functionality??
void addItemList(const list<Value>& vals);
};
Что лучше - предоставить такую функцию, как addItemVariadic (..) или addItemList (..)?
Или лучше предоставить набор таких функций, как дальнейшее использование некоторых итераторов, или лучше ограничить функциональность, например, просто взять список?