Namespaces
Variants

std::plus<void>

От ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (основные типы, RTTI)
Макросы тестирования возможностей библиотеки (C++20)
Утилиты программы
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
Функциональные объекты
Вызов функций
(C++17)(C++23)
Тождественный функциональный объект
(C++20)
Старые связыватели и адапторы
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
(до C++17*)(до C++17*)
(до C++17*)(до C++17*)

(до C++17*)
(до C++17*)(до C++17*)(до C++17*)(до C++17*)
(до C++20*)
(до C++20*)
 
Определён в заголовочном файле <functional>
template<>
class plus<void>;
(начиная с C++14)

std::plus<void> — это специализация std::plus, для которой параметр и тип возвращаемого значения выводятся.

Типы членов

Тип Определение
is_transparent unspecified

Функции-члены

operator()
возвращает сумму двух аргументов
(public member function)

std::plus<void>:: operator()

template < class T, class U >

constexpr auto operator ( ) ( T && lhs, U && rhs ) const

- > decltype ( std:: forward < T > ( lhs ) + std:: forward < U > ( rhs ) ) ;

Возвращает сумму lhs и rhs .

Параметры

lhs, rhs - значения для суммирования

Возвращаемое значение

std:: forward < T > ( lhs ) + std:: forward < U > ( rhs ) .

Пример

#include <functional>
#include <iostream>
int main()
{
    auto string_plus = std::plus<void>{}; // “void” можно опустить
    std::string a = "Hello ";
    const char* b = "world";
    std::cout << string_plus(a, b) << '\n';
}

Вывод:

Hello world