Извините за вопрос noob. Я был погружен в Java в прошлое, а книга для этого курса не охватывает C++.... оператор в функции
Мне нужно заполнить функцию, чтобы добавить ключевые слова (типа string) в объект Item
. прототип функции выглядит следующим образом.
void addKeywordsForItem(const Item* const item, int nKeywords, ...);
В Java ...
возвращает остаток аргументов как String
объекта и я предполагаю, что C++ делает что-то подобное, но я не знаю название ...
поэтому поиск для него довольно сложно.
Что такое ...
и что он делает?
это ... [VARIADIC аргументы] (http://en.cppreference.com/w/cpp/language/variadic_arguments), 'улов (...) 'означает catch all handler, а также означает вариационный шаблон и его расширение. – Danh
У вас есть два несвязанных вопроса. Выберите его. Вы можете отправить свой другой вопрос отдельно. – hvd
Хорошо, для '...', у вас есть правильный ответ, но теперь, когда вы знаете, что искать, не забудьте также узнать, почему вы вообще не должны использовать вариационные функции в современном C++, в особенно отсутствие безопасности типов. Если вы хотите получить набор строк, в базовом типе-безопасном подходе используется 'void addKeywordsForItem (const Item * const item, std :: initializer_list keywords)' (называться 'addKeywordsForItem (item, {" a ", «b», «c»))), но возможны и более продвинутые подходы, которые позволяют больше вариаций в том, как вы вызываете эту функцию. –
hvd