2015-07-30 2 views
0

Недавно я взял C++ викторины и вот вопрос от него:ли Сейнт алгоритмы классы с оператором() или функции

Выбрать все понятия, которые представлены в STL от шаблонных классов

  1. Контейнеры
  2. итераторы
  3. ФУНКТОРЫ
  4. Алгоритмы
  5. Исключения

Очевидно 1,2 и 3 шаблонных классов, но как насчет алгоритмов? Я никогда не думал об этом, но алгоритмы могут быть шаблонами функций, а также могут быть шаблоны классов с operator().

Хотя, я думаю, что это не имеет значения и довольно глупый вопрос, меня интересует ответ, потому что у меня есть только количество ошибок в викторине, не зная, где я был прав и где не так.

tl; dr: Являются ли алгоритмы STL функциями или классами с operator()?

спасибо.

+0

Функции. Вы можете запустить стандарт ([здесь один проект] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3690.pdf)) и посмотреть объявления. –

+0

Просто соблюдайте форму. Функции могут быть вызваны непосредственно. Сначала необходимо создать классы. –

+1

@KarolyHorvath Тем не менее, могут быть глобальные предопределенные экземпляры каждого класса. –

ответ

Смежные вопросы