выдаёт не contigious_range, что не позволяет по-человечески преобразовать получившиеся поддиапазоны в string_view. Поэтому теперь уже новый вопрос - а кто-нибудь вообще использовал в своих проектах std::ranges? С этим можно жить, или пока лучше оставаться на ranges-v3?
Я знал, что они недоработаны, но не думал, что настолько =(
Почему в плюсах такие простейшие и востребованные вещи как string.split() вводятся через 40 лет от рождения языка и все равно остаются неудобным говном?
Потому что split это ниразу не простейшая вещь. Для того чтобы это ввести нужны доп построения в виде ренжей, которые как раз сложности и вызывают
Что сложного в том чтобы пройтись по строке, поискать delim и вернуть вектор из токенов? В си есть хотя бы strtok
То что такой split это гавнокод. Схрена ли он аллоцирует у тебя?
Схрена ли аллокация это говнокод?
Ещё и к ветэктору привязка
с того, что это можно сделать без аллокаций и оверхеда
Вектор это часть стд либы, что не так?
Потому что она не нужна, но замедляет код.
А велосипеды замедляют разработку
А вдруг я хочу в лист собрать? перегонять вектор в лист, и потом удалять вектор?
А если у меня свой вектор юзается? Или я вообще хочу в хэш таблицу результат отправить?
велосипедов и не будет, если сделать все грамотно, чего видимо не успели принять в C++20
И почему не нужна? Ок, как в идеальном с++ мире должен сплит работать?
Возвращать ренж как щас, только юзабельно, как в 23
возвращать view на сплитнутые значения, и уже оттуда танцевать как вам захочется
Зачем вообще нужна стандартная либа если подразумевается что программист имеет не стандартные векторы? Я считаю что если юзаешь либу, то пусть она работает со всем своим
Стандарт даёт тебе концепты в виде итераторов, контейнеров и т.д. И ты можешь реализовать конкретные сущности моделирующие эти концепции. Именно на языке концепций, без привязки к конкретным типам должна говорит стандартная либа. Чтобы я мог разработать контейнер под свою задачу и заюзать его без проблем
Это классно, но приходится все очень усложнять ради 1% юзкейсов
Обсуждают сегодня