C++ 中的 vector 和 Java 中的 ArrayList 的构造函数的区别
前言:之前一直存在一个理解误区,以为 C++ 中的
vector
存在一个构造函数可以为vector
对象预分配空间,在调试代码时,才发现是自己理解错了,接受一个整数的vector
的构造函数并不是预分配空间,而是直接添加了元素,因此写一篇文章来记录一下。
C++ 中的 vector
接受一个整数的 vector
的构造函数实际上是直接向 vector
对象中添加了元素:
如果要给 vector
对象预分配空间的话,必须使用 reserve()
成员函数:
Java 中的 ArrayList
而 Java 中的 ArrayList
也有一个类似的构造函数,接受一个整数:
与 C++ 中的 vector
不同,该构造函数是会预分配空间的,而不是直接添加元素:
版权声明: 本文为 InfoQ 作者【jiangling500】的原创文章。
原文链接:【http://xie.infoq.cn/article/9651cff33cfa48cd4b63f2f94】。文章转载请联系作者。
评论