std::binary_function
Материал из cppreference.com
< cpp | utility | functional
|
|
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
| Заголовочный файл <functional>
|
||
| template< class Arg1, |
(устарело) | |
binary_function это базовый класс для создания объектов-функций с двумя аргументами.Original:
binary_function is a base class for creating function objects with two arguments.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
binary_function не определяют operator(), ожидается, что производные классы будут определять это. binary_function предусматривает только три вида - first_argument_type, second_argument_type и result_type - по определению параметров шаблона.Original:
binary_function does not define operator(); it is expected that derived classes will define this. binary_function provides only three types - first_argument_type, second_argument_type and result_type - defined by the template parameters.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
Некоторые стандартные библиотечные функции объекта адаптеры, такие как std::not2, требующих функции объектов, которые они должны адаптироваться к определенным типам, определенным; std::not2 требуется объект функции адаптируются к иметь два типа имени
first_argument_type и second_argument_type. Получение функциональных объектов, которые принимают два аргумента из binary_function простой способ, чтобы сделать их совместимыми с адаптерами.Original:
Some standard library function object adaptors, such as std::not2, require the function objects they adapt to have certain types defined; std::not2 requires the function object being adapted to have two types named
first_argument_type and second_argument_type. Deriving function objects that take two arguments from binary_function is an easy way to make them compatible with those adaptors.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
binary_function является устаревшим в C + +11. Его функциональность была сделана устаревшей std::function и других стандартных объектов библиотеки функций, которые определяют необходимые виды.Original:
binary_function is deprecated in C++11. Its functionality has been made obsolete by std::function and other standard library function objects, which define the necessary types.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[править] Член типов
| Type
Original: Type The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. |
Definition |
first_argument_type
|
Arg1
|
second_argument_type
|
Arg2
|
result_type
|
Result
|
[править] Пример
#include <algorithm> #include <functional> #include <iostream> #include <vector> struct same : std::binary_function<int, int, bool> { bool operator()(int a, int b) const { return a == b; } }; int main() { std::vector<int> v1{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::vector<int> v2{10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 }; std::vector<bool> v3(v1.size()); std::transform(v1.begin(), v1.end(), v2.begin(), v3.begin(), std::not2(same())); std::cout << std::boolalpha; for (std::size_t i = 0; i < v1.size(); ++i) std::cout << v1[i] << ' ' << v2[i] << ' ' << v3[i] << '\n'; }
Вывод:
0 10 true 1 9 true 2 8 true 3 7 true 4 6 true 5 5 false 6 4 true 7 3 true 8 2 true 9 1 true
[править] См. также
| (C++11) |
обертывания вызываемый объект любого типа с заданной подписью вызова функции Original: wraps callable object of any type with specified function call signature The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (устарело) |
создает адаптер-совместимые функции объекта обертку от указателя на функцию Original: creates an adaptor-compatible function object wrapper from a pointer to function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон функции) |
| (устарело) |
Адаптер-совместимая оболочка для указателя на бинарной функции Original: adaptor-compatible wrapper for a pointer to binary function The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |
| (устарело) |
Адаптер-совместимых унарные функции базового класса Original: adaptor-compatible unary function base class The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (шаблон класса) |