用于执行乘法的函数对象。在两个T类型的实例上有效地调用运算符* 。
句法 :
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()
例子 :
// C++ program to illustrate std::multiplies
// by multiplying the respective elements of 2 arrays
#include // std::cout
#include // std::multiplies
#include // std::transform
int main()
{
// First array
int first[] = { 1, 2, 3, 4, 5 };
// Second array
int second[] = { 10, 20, 30, 40, 50 };
// Result array
int results[5];
// std::transform applies std::multiplies to the whole array
std::transform(first, first + 5, second, results, std::multiplies());
// Printing the result array
for (int i = 0; i < 5; i++)
std::cout << results[i] << " ";
return 0;
}
输出:
10 40 90 160 250
另一个例子 :
// C++ program to illustrate std::multiplies
// by multiplying all array elements with a number
#include
int main()
{
// Array with elements to be multiplying
int arr[] = { 10, 20, 30 };
// size of array
int size = sizeof(arr) / sizeof(arr[0]);
// Variable with which array is to be multiplied
int num = 10;
// Variable to store result
int result;
// using std::accumulate to perform multiplication on array with num
// using std::multiplies
result = std::accumulate(arr, arr + size, num, std::multiplies());
// Printing the result
std::cout << "The result of 10 * 10 * 20 * 30 is " << result;
return 0;
}
输出:
60000
要从最佳影片策划和实践问题去学习,检查了C++基础课程为基础,以先进的C++和C++ STL课程基础加上STL。要完成从学习语言到DS Algo等的更多准备工作,请参阅“完整面试准备课程” 。