vector.back() 和 vector[vector.size() - 1] 之间的区别?



std::vector调用vector.back()vector[vector.size() - 1]有什么区别吗?

vector.back()

更易于读写。此外,更多的容器提供c.back()而不是c[c.size() - 1],这对于泛型代码很重要。

在调试运行时中,两者都有可能被困在空容器上,生成的代码以及它们在使用优化时的性能也不会有很大差异。

>vector.back()是一个函数调用,编写起来更短:它更简单。vector[vector.size() - 1]是两个函数调用和一个减法,写起来更长:它更复杂。

在行为上,它们对于std::vector是一样的。但是back更通用,可以与所有标准双向容器一起使用(std::forward_list是唯一不支持它的标准容器(。operator[]仅受随机访问容器支持。

最新更新