На данный вопрос уже ответили:
Здравствуйте. В C++ есть понятие функтора и предиката. Когда я эти понятия изучал, я столкнулся с константными операторами.
Есть строка типа:
int operator()(int arg) const
И строка типа:
int operator()(int arg)
Обе эти строки просто объявляют оператор, который для каждого arg возвращает arg + 1.
Для строки transform(a.begin(), a.end(), a.begin(), Comp());
оба объявления работают одинаково хорошо. Всё компилируется и все элементы в векторе и правда увеличиваются на 1
Так в чём же разница между обьявлением с const, и без него?
Константные операторы, и вообще константные функции, нужны чтобы их можно было вызвать у константного объекта, через константную ссылку или указатель на объект.
Например для const Comp c;
или const Comp&
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Добавляю в href ИД переключателя по клику, но при каждом нажатии на переключатель, ИД добавляется снова и снова, а нужно только один, попробовал...
Подскажите, пжлст, как изменить вид ссылки? Имеется загрузчик который подгружает налету изображенияПроблема состоит в том, что он исполняется...
С помощью <input type=range> задаем количество товараЦена единицы товара, перечисленная в массиве tariff[75,70,66,62,58,55] колеблется в зависимости от количества,...