9
- 我知道我可以使用
*s.begin()
,但同樣的論點可以用於vector
,其中有front
/back
- 我經常使用set /地圖的有序屬性來獲取「最小的」元/鍵 - OFC事實這我這樣做是不是有它的原因,只是一個例子:)
這裏我說的是設計爲什麼front
/back
會很糟糕的設計,所以請跳過顯而易見的原因,像原因委員會忘了關於它...是否有設計原因的std ::一套不必須正面和背面成員函數?
*s.begin()
,但同樣的論點可以用於vector
,其中有front
/back
這裏我說的是設計爲什麼front
/back
會很糟糕的設計,所以請跳過顯而易見的原因,像原因委員會忘了關於它...是否有設計原因的std ::一套不必須正面和背面成員函數?
我認爲「前」和「後」字是保留爲序列容器(即,那些元素順序由插入順序決定的元素),以及這些詞意味着在該順序中提供一個物理位置。
由於set
不是序列容器(而是關聯容器),這是不合適的。尤其要注意的是,「前面」的含義可以通過隨後插入不相關的元素來改變。
第二段並沒有真正意義; 'vector'的'back'也可以通過'push_back'改變。但第一段爲+1。 –
@larsmans:是的,如果你改變回來,「後退」可以改變。但你會明確地改變後面。在一組中,如果你明白我的意思,這將是一個*無關的變化。當您考慮列表時,此解釋效果最佳。 –
好吧,夠公平的。 –