簡體   English   中英

vector.back() 和 vector[vector.size() - 1] 之間的區別?

[英]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.

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