- 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;
}
bormand 02.06.2021 08:46 # +1
А bind можно попробовать на лямбду поменять. Вроде нагляднее будет.
Soul_re@ver 02.06.2021 10:34 # 0
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,
PolinaAksenova 02.06.2021 11:54 # 0
bind ня нужен.
Soul_re@ver 02.06.2021 12:12 # 0
bormand 02.06.2021 14:09 # +2
Кстати, только сегод-ня узнала, что bind не контролирует количество аргументов и тупо отбрасывает лишнее: Опасная штука. Зачем они так?
PolinaAksenova 02.06.2021 14:14 # +2
digitalEugene 02.06.2021 12:19 # 0
digitalEugene 02.06.2021 12:21 # 0
с bind короче.
bormand 02.06.2021 13:31 # +2
bormand 02.06.2021 13:25 # +3