Этот вопрос относится к:
Когда я должен использовать новый диапазон и могу ли я объединить его с новым cbegin/cend?
На основании этого вопроса, чтобы принудительно использовать cbegin()
и cend()
, нужно сделать, например:
for (auto& v: const_cast<decltype(container) const>(container))
Это много шаблонов для конструкции, которая должна была ее устранить. Есть ли еще более компактный способ сделать это? Причина моего вопроса заключается в том, что неявный общий контейнер может использовать begin()
в качестве ключа для отсоединения себя.