Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 1
Регистрация: 18.03.2017
Сообщений: 34

Передача функции в качестве параметра

31.05.2017, 14:44. Показов 2207. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как передать функцию с параметрами в transform?
Т.е., например, мне надо из каждого числа вектора вычесть число k с помощью transform'а, как это сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.05.2017, 14:44
Ответы с готовыми решениями:

Передача функции в качестве параметра
#include <iostream> #include <math.h> using namespace std; double f(double x) { return (2*x*x)-(exp(x)); double...

Функции, передача массива в качестве параметра
Приветствую) Собственно, есть простенькое задание с двумерными массивами, оно выполнено: #include <iostream.h> #include...

Передача CString в качестве параметра функции
Добрый всем вечер! Мучает один вопрос, на который не могу найти ответ. Как наилучшим образом передавать объект класса CString в...

6
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
31.05.2017, 14:47
C++
1
2
vector<char>st;
transform(st.begin(), st.end(), st.begin(), tolower);
tolower - это функция с библиотеки cctype
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.05.2017, 14:51
Только надо обязательно использовать ::tolower, std::tolower не подойдёт.

И лучше всего подставить лямбду (если не подойдёт готовый вариант как в посте выше).
0
0 / 0 / 1
Регистрация: 18.03.2017
Сообщений: 34
31.05.2017, 14:51  [ТС]
Так это же с символами, да и k там фиксированный.
0
Диванный эксперт
Эксперт С++
 Аватар для Max Dark
2550 / 2064 / 971
Регистрация: 09.10.2013
Сообщений: 4,793
Записей в блоге: 4
31.05.2017, 14:57
Цитата Сообщение от Unicorn_666 Посмотреть сообщение
Как передать функцию с параметрами в transform?
Для стандарта C++11 и новее можно использовать std::bind либо lambda-функцию
Для более ранних версий стандарта придется написать класс обертку с перегруженным operator()
1
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
31.05.2017, 15:01
Можно результат и в вектор сохранять предварительно, тогда 3-м параметром v.begin()
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
 
int main()
{
    std::vector<int> v = {5, 6, 7, 8, 9};
    constexpr int k = 5;
    std::transform(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "), [k](const auto x) { return x - k; });
}
Добавлено через 1 минуту
Цитата Сообщение от Max Dark Посмотреть сообщение
std::bind
Вместо него лучше использовать лямбды. Был один кейс, который покрылся доработкой в С++14.
Майерс описывает этот момент в "Эффективном и современном С++"
1
0 / 0 / 1
Регистрация: 18.03.2017
Сообщений: 34
31.05.2017, 15:53  [ТС]
Спасибо, ребят!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.05.2017, 15:53
Помогаю со студенческими работами здесь

Передача временного массива в качестве параметра функции
Здравствуйте, можно ли как то описать параметр функции, что бы передавать в нее не существующий, а временный массив. При этом не указывая...

Передача функции с двумерным массивов в качестве параметра
Всем доброго времени суток. У меня проблема следующего плана. Есть некая функция void Get_from_file(Rect rectangle, int sizeY) из...

Передача функции в качестве параметра в другую функцию
Задание стоит следующее: Написать программу, содержащую две функции. Первая функция, вычисляющая определитель второго порядка располагается...

Передача двумерного массива указателей на char в качестве параметра функции
Есть массив char *result2; Нужно передать его в функцию void defDouble(???) в качестве одного из параметров . Как будет выглядеть...

Передача указателя в качестве параметра функции динамически подключаемой библиотеки .so
Собственно возможно ли такое? Ниже мои потуги (пытаюсь передать ссылку на глобальную переменную a_buf_cash): void...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru