Sobes.tech
Junior — Middle
138

Ar galima atskirti dvejetainius predikatų nuo vienarankių ir kokie yra pagrindiniai jų skirtumai?

Įmonės kur klausė
Телкор

Atsakymas iš AI

sobes.tech AI

Унарные и бинарные предикаты — это функции или функциональные объекты, которые возвращают булево значение, но отличаются числом аргументов:

  • Унарный предикат принимает один аргумент и возвращает true или false в зависимости от условия, например, проверка, является ли число чётным.
  • Бинарный предикат принимает два аргумента и сравнивает их, возвращая true или false, например, сравнение двух чисел на равенство или меньше.

Отличить их можно по сигнатуре функции:

// Унарный предикат
bool isEven(int x);

// Бинарный предикат
bool less(int a, int b);

В шаблонах и алгоритмах STL часто используются оба типа предикатов: унарные для фильтрации элементов, бинарные — для сравнения и сортировки. Главное отличие — количество параметров и смысл проверки.