std::multiplies in C++
Last Updated :
02 Aug, 2017
Function object for performing multiplication. Effectively calls operator* on two instances of type T.
Syntax :
template struct multiplies : binary_function
{
T operator() (const T& x, const T& y) const {return x*y;}
};
Template Parameters :
T - Type of the arguments and return type of the functional call.
The type shall support the operation (operator*).
Member types :
x : Type of the first argument in member operator()
y : Type of the second argument in member operator()
result_type : Type returned by member operator()
Example :
#include <iostream> // std::cout
#include <functional> // std::multiplies
#include <algorithm> // std::transform
int main()
{
int first[] = { 1, 2, 3, 4, 5 };
int second[] = { 10, 20, 30, 40, 50 };
int results[5];
std::transform(first, first + 5, second, results, std::multiplies< int >());
for ( int i = 0; i < 5; i++)
std::cout << results[i] << " " ;
return 0;
}
|
Output:
10 40 90 160 250
Another Example :
#include <bits/stdc++.h>
int main()
{
int arr[] = { 10, 20, 30 };
int size = sizeof (arr) / sizeof (arr[0]);
int num = 10;
int result;
result = std::accumulate(arr, arr + size, num, std::multiplies< int >());
std::cout << "The result of 10 * 10 * 20 * 30 is " << result;
return 0;
}
|
Output:
60000
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...