Как использовать результат std::views::filter для std::ranges::random_access_range?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как использовать результат std::views::filter для std::ranges::random_access_range?

Сообщение Anonymous »

std::views::filter не может моделировать концепцию std::ranges::random_access_range (скорее всего, потому, что он не может сопоставить произвольный доступ из временного фильтруемого диапазона в исходный диапазон ; поправьте меня, если я ошибаюсь в рассуждениях или формулировках).
Я могу использовать std::ranges::to() (см. демо ниже) ), чтобы преобразовать временный диапазон в вектор, но:
  • Он создает копию значений вектора v, и я не могу его изменить их. Есть ли способ решить эту проблему?
  • Это лучший (наиболее эффективный с точки зрения производительности и перераспределения памяти) подход?
  • Каким будет реальное влияние на производительность и перераспределение памяти? Будет ли настоящий std::vector создаваться в памяти динамически?
(Конечно, «наиболее эффективный» здесь означает «без контекста»; наверняка в реальных случаях код функции rar можно изменить для внутренней фильтрации, избегая дополнительных выделений. Вопрос в том, можно ли это сделать лучше, если функция rar "неприкосновенна"?)


Подробнее здесь: https://stackoverflow.com/questions/793 ... cess-range
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Каково использование std :: ranges :: views :: lazy_split, когда у нас есть std :: ranges :: views :: split?
    Anonymous » » в форуме C++
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Как вы можете использовать std::views::zip с std::ranges::for_each?
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Как вы можете использовать std::views::zip с std::ranges::for_each?
    Anonymous » » в форуме C++
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Как вы можете использовать std::views::zip с std::ranges::for_each?
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Могу ли я реализовать «random.randint()» с помощью «random.random()»?
    Anonymous » » в форуме Python
    0 Ответы
    67 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»