![](/img/trans.png)
[英]What is the difference between vector.back() and vector.end()?
[英]Difference between vector.back() and vector[vector.size() - 1]?
使用std::vector
調用vector.back()
和vector[vector.size() - 1]
之間有什么區別嗎?
vector.back()
更易於讀寫。 此外,更多容器提供c.back()
而不是c[c.size() - 1]
,這對於通用代碼很重要。
在調試運行時,兩者同樣有可能被困在空容器上,生成的代碼和使用優化時它們的性能預計也不會有顯着差異。
vector.back()
是一個 function 調用,寫起來更短:它更簡單。 vector[vector.size() - 1]
是兩次 function 調用和一次減法,寫起來更長:它更復雜。
在行為上,它們對於std::vector
是相同的。 但是back
更通用,可以與所有標准雙向容器一起使用( std::forward_list
是唯一不支持它的標准容器)。 operator[]
僅受隨機訪問容器支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.