Сравнение итераторов из различных контейнеров
При работе с контейнерами важно понять последствия сравнения итераторов из разных контейнеров. Возникает вопрос: допустимо ли сравнивать итераторы, принадлежащие различным контейнерам?
std :: ecector , выражение foo.begin () == bar.begin () даст ложь или привести к неопределенному поведению? Forwarditerators, которые включают случайные результаты, подлежат разделу 24.2.5. Поведение. в заключении, сравнение итераторов из различных контейнеров является неопределенным поведением, и очень важно придерживаться этого ограничения, когда написание пользовательских итераторов и манипулирующих контейнеров в вашем коде.std::vector
LWG выпуска № 446
" Диапазоны R1 и R2 [...], которые не являются подпрнатами одного общего диапазона, не являются неопределенными, если только явно описано иное. «
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3