Информация об изменениях

Сообщение Re[3]: std::views::filter и const от 01.12.2020 15:49

Изменено 01.12.2020 15:55 vopl

Re[3]: std::views::filter и const
Здравствуйте, sergii.p, Вы писали:

SP>Здравствуйте, σ, Вы писали:


σ>>Дальше же в сообщении компилятора написано, что методы `begin`/`end` не const-qualified.


SP>вопрос — почему. Что такого делает filter, что методы не могут быть const


https://en.cppreference.com/w/cpp/ranges/filter_view
std::ranges::filter_view::begin
...
this function caches the result within the filter_view object for use on subsequent calls.

Поэтому ему нужен неконстантный объект.
Re[3]: std::views::filter и const
Здравствуйте, sergii.p, Вы писали:

SP>Здравствуйте, σ, Вы писали:


σ>>Дальше же в сообщении компилятора написано, что методы `begin`/`end` не const-qualified.


SP>вопрос — почему. Что такого делает filter, что методы не могут быть const


https://en.cppreference.com/w/cpp/ranges/filter_view
std::ranges::filter_view::begin
...
this function caches the result within the filter_view object for use on subsequent calls.

Поэтому ему нужен неконстантный объект.

[добавлено позже] Если б я был султан — я б для этого кэша запользовал mutable вместо того чтобы делать неконстантные методы