繁体   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