
Function Object
A binary function object that returns the result of adding its first and second arguments.
None
#include <functional> template<class T> struct plus : public binary_function<T, T, T> ;
plus is a binary function object. Its operator() returns the result of adding x and y. You can pass a plus object to any algorithm that uses a binary function. For example, the transform algorithm applies a binary operation to corresponding values in two collections and stores the result. plus would be used in that algorithm in the following manner:
vector<int> vec1;
vector<int> vec2;
vector<int> vecResult;
.
.
.
transform(vec1.begin(), vec1.end(), vec2.begin(),
vecResult.begin(), plus<int>());
After this call to transform, vecResult(n) contains vec1(n) plus vec2(n).
template<class T>
struct plus : binary_function<T, T, T> {
T operator() (const T&, const T&) const;
};
If your compiler does not support default template parameters, you always need to supply the Allocator template argument. For instance, you need to write:
vector<int, allocator<int> >
instead of:
vector<int>
If your compiler does not support namespaces, then you do not need the using declaration for std.
binary_function, Function Objects