簡體   English   中英

std :: multiset的迭代器上的std :: advance是否在恆定時間內完成?

[英]Is std::advance on an iterator of std::multiset done in constant time?

我想知道在std :: multiset的迭代器上調用std :: advance是否在恆定時間內完成。

不,只有隨機訪問迭代器才能在恆定時間內進行。 否則,它是距離的線性時間。

請參閱: https//en.cppreference.com/w/cpp/iterator/advance

std::advance ,我們看到

復雜

線性的 但是,如果InputIt額外滿足RandomAccessIterator的要求,則復雜度是恆定的。

由於std::*mapstd::*set系列中的任何模板都不滿足RandomAccessIterator要求,因此它是線性的。 從例如這里

會員類型

[...]

iterator Constant BidirectionalIterator
const_iterator常數BidirectionalIterator

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM