Ответ 1
Похоже, это не что иное, как blooper: плюс и минус - даже не глаголы...
Само название не является оригиналом С++ 14: С++ 14 просто добавляет специализацию <void>
, но типизированная версия и все остальные элементы заголовка <functional>
существуют из С++ 98 (и даже pre-iso), и определенное соглашение о кодировании (функционирует как глаголы, объект как интерфейс подстановки как прилагательные...) еще не было уже установлено.
Что такое С++ 14, просто добавляет еще одну функцию к существующим определениям, позволяя существующему коду продолжать работать так, как есть. Он просто не может переопределять имена.
Считаем также, что знак +
не всегда используется во всей стандартной библиотеке для add: in std::string
это конкатенация, а std::plus
, если применяется к строкам, объединяет их. Аналогично, * часто используется как операция "закрытия" (подумайте boost::spirit
).
Более подходящая библиотека "с нуля", скорее всего, будет называть их нейтрально cross
, dash
, star
и slash
, позволяя классам, которые предоставляют соответствующие операции, давать им согласованные имена в своих собственных контекст