std::plus
- это функтор, что означает, что вам нужно создать объект из него:
auto adder = std::plus<>{};
auto result = adder(one, two); // result is onetwo
По этой причине вы никогда не будете использовать его так, как вы: вы всегда будете простонапишите one + two
.
Но это означает, что вы можете использовать это так же, как и std::greater
и т.п.: передавая его как функтор, который будет применяться к некоторому контейнеру, а не нуждатьсянаписать свою собственную лямбду, чтобы сложить все вместе.
См. Что такое функторы C ++ и их использование? для получения дополнительной информации о функторах.