std::multiplies<void>
From cppreference.com
< cpp | utility | functional
| ヘッダ <functional> で定義 |
||
| template<> class multiplies<void>; |
(C++14以降) | |
std::multiplies<void> は、パラメータ型と戻り値の型が推論される std::multiplies の特殊化です。
目次 |
[編集] メンバ型
| 型 | 定義 |
is_transparent
|
unspecified |
[編集] メンバ関数
| operator() |
2つの引数の積を返す (public member function) |
std::multiplies<void>::operator()
| template< class T, class U > constexpr auto operator()( T&& lhs, U&& rhs ) const |
||
lhs と rhs の積を返します。
パラメータ
| lhs, rhs | - | 乗算する値 |
戻り値
std::forward<T>(lhs) * std::forward<U>(rhs).
[編集] 例
このコードを実行
#include <complex> #include <functional> #include <iostream> int main() { auto complex_multiplies = std::multiplies<void>{}; // “void” can be omitted constexpr std::complex z1{1.0, 2.0}, z2{3.0, 4.0}; std::cout << std::showpos << complex_multiplies(z1, z2) << ' ' << z1 * z2 << '\n' << complex_multiplies(z1, 5.) << ' ' << z1 * 5. << '\n' << complex_multiplies(5., z1) << ' ' << 5. * z1 << '\n'; }
出力
(-5,+10) (-5,+10) (+5,+10) (+5,+10) (+5,+10) (+5,+10)