根據Is `std::vector<primitive>::clear()` a constant time operation?的討論,注意到C++標準似乎沒有指定運行時間爲vector::clear
。vector :: clear未指定的複雜性是什麼?
它規定了有序(表102)和無序關聯容器(表103)(均爲線性)的運行時間list::clear
(線性;第23.3.5.4.5節),.clear
。但是,vector::clear
似乎缺失(雖然其他vector
成員,如.data
和.swap
似乎具有指定的複雜性)。
這是真的沒有說明,還是我錯過了什麼?
監督與否,如果它不在那裏,是不是沒有指定它? – Collin 2013-02-20 01:32:41
是的,最後的聲明並不完全正確。感謝您的注意。 – nneonneo 2013-02-20 01:36:05
我記得通過我的編譯器提供的標準庫實現的代碼進行追蹤,並發現該操作實際上是無操作的。儘管如此,我在標準中找不到任何東西,以表明操作*必須*是無操作的。 – dasblinkenlight 2013-02-20 01:41:08