c ++ 20 представил две адаптеры диапазона для расщепления последовательностей: std :: ranges :: vision :: split и std :: ranges :: vision :: lazy_split .
На первом взгляде, Views :: split preser everse:
Прямое преобразование в std :: string_view или std :: span .
Вы можете использовать .data () , .size () и стандартные функции разделения, такие как std :: from_chars . Использовать. /> Доступ к разделенным частям часто требует ручного копирования или std :: ranges :: to (c ++ 23).
Существует ли практический сценарий, в котором lazy_split на самом деле лучше или предпочитает над Split ? Или это в основном унаследованный артефакт после изменений дизайна, введенных P2210R2?
c ++ 20 представил две адаптеры диапазона для расщепления последовательностей: std :: ranges :: vision :: split и std :: ranges :: vision :: lazy_split . На первом взгляде, Views :: split preser everse: [list] Прямое преобразование в std :: string_view или std :: span . [*] Вы можете использовать .data () , .size () и стандартные функции разделения, такие как std :: from_chars . Использовать. /> Доступ к разделенным частям часто требует ручного копирования или std :: ranges :: to (c ++ 23). [/list] Существует ли практический сценарий, в котором lazy_split на самом деле лучше или предпочитает над Split ? Или это в основном унаследованный артефакт после изменений дизайна, введенных P2210R2?
Я трахал голову по этой проблеме уже почти неделю. Моя цель состоит в том, чтобы создать бесконечный список прокрутки, который, когда пользователь достигнет начала или конца, быстро загрузит больше данных в память и расширяет список. LazyVStack ....
Я трахал голову по этой проблеме уже почти неделю. Моя цель состоит в том, чтобы создать бесконечный список прокрутки, который, когда пользователь достигнет начала или конца, быстро загрузит больше данных в память и расширяет список. LazyVStack ....
Читая через cppreference.com, я заметил ranges :: find_last_if возвращает субстанцию , но диапазоны :: find_if возвращает только итератор. Мне интересно, есть ли веская причина для этого решения? const auto it = std::ranges::find_if(data |...