![](/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.