- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
int main(void)
{
std::string data = "HELLO WORLD!\n";
std::transform(
data.begin(), data.end(),
std::ostream_iterator<char>(std::cout, ""),
std::bind(std::plus<char>(), std::placeholders::_1, 1));
return 0;
}
А bind можно попробовать на лямбду поменять. Вроде нагляднее будет.
int main(void) → int main()
C++14:
std::plus<char>() → std::plus<>{}
std::string data = "HELLO WORLD!\n"; → auto data = "HELLO WORLD!\n"s;
C++20:
std::transform(data.begin(), data.end(), → std::ranges::transform(data,
bind ня нужен.
Кстати, только сегод-ня узнала, что bind не контролирует количество аргументов и тупо отбрасывает лишнее: Опасная штука. Зачем они так?
с bind короче.