Вообще, этому приему уже лет двадцать, наверное. Он точно доступен с C++98. Смысл в том, что если есть произвольный поддиапазон [a,b), то его содержимое можно отправить в cout посредством поэлементного копирования, где вместо "приемника" задается не непосредственно cout, а завязанный на cout итератор.
В принципе, любой может написать для себя шаблон writeln, который будет получать аргументом [a,b) и прятать copy у себя внутри. Но в стандартной библиотеке такой функции нет.
В стандартной библиотеке C++ очень много чего нет. Как и в самом языке. Насколько я понимаю, до C++11 не было возможности написать шаблонную функцию writeln, которой можно было бы пользоваться вот так: writeln(cout,xs). В C++11, насколько я понимаю, это уже можно сделать даже без танцев с бубнами.
Нет, все тоже самое: сборки мусора нет, совместимость с C все еще поддерживается, повисшие указатели, выходы за пределы массивов, повторное освобождение и расстрел памяти, разные уровни поддержки стандартов в разных компиляторов, куча несовместимых между собой систем сборки, отсутствие общего менеджера пакетов... Все как всегда :)
no subject
Date: 2015-10-16 07:18 am (UTC)Вообще, этому приему уже лет двадцать, наверное. Он точно доступен с C++98. Смысл в том, что если есть произвольный поддиапазон [a,b), то его содержимое можно отправить в cout посредством поэлементного копирования, где вместо "приемника" задается не непосредственно cout, а завязанный на cout итератор.
В принципе, любой может написать для себя шаблон writeln, который будет получать аргументом [a,b) и прятать copy у себя внутри. Но в стандартной библиотеке такой функции нет.
no subject
Date: 2015-10-16 08:21 am (UTC)А про гипотетические новые красивые приёмы! ;-)
no subject
Date: 2015-10-16 08:32 am (UTC)no subject
Date: 2015-10-16 09:12 am (UTC)no subject
Date: 2015-10-16 09:15 am (UTC)no subject
Date: 2015-10-16 09:17 am (UTC)Такшта, нифига я не посвящённый уже ;-)
no subject
Date: 2015-10-16 09:22 am (UTC)Сейчас я бы уже сам на C++98 не стал бы писать. Разве что за очень большие деньги.
no subject
Date: 2015-10-16 10:01 am (UTC)no subject
Date: 2015-10-16 10:08 am (UTC)no subject
Date: 2015-10-16 10:15 am (UTC)А я уж думал — всё исправилось, стало хорошим и можно обратно с хаскеля на него переходить! ;-)
no subject
Date: 2015-10-16 10:33 am (UTC)