Не следует использовать std:: bind
Не допускается использование std:: bind.
std::bind принимает вызываемый объект, например объект функции, и создает обертку вызова переадресации для этого объекта. Вызов обертки вызывает объект с некоторыми аргументами объекта, привязанными к аргументам, указанным в обертке. Например, в этом фрагменте кода foo вызывается через bar с первым (вторым) аргументом bar связан со вторым (первым) аргументом foo.
int foo(int, int); auto bar = std::bind(foo, _2, _1); bar(10, 20); //call to foo(20, 10) |
Использование std::bind приводит к менее читаемому вызову функции. Разработчик, незнакомый с foo должен был бы увидеть заявление foo понять, как передавать аргументы bar, и может спутать один параметр функции с другим. Кроме того, компилятор реже встраивает функцию, созданную с помощью std::bind.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: 18 Библиотека языковой поддержки |
| Категория: Обязательно, Автоматизировано |