int*_*tar 70 c++ java arraylist
刚回到使用C++并试图转换我最近写的一个简单的Java程序.
什么是C++中Java ArrayList的首选等价物?
SLa*_*aks 79
使用标准库中的std::vector类.
Ste*_*end 51
这里还有一些额外的要点vector.
不像ArrayList和Array在Java中,你不需要做什么特别的治疗vector作为数组- C++中的底层存储是保证连续,高效可转位.
与之不同ArrayList,a vector可以有效地保存原始类型,而无需封装作为完整的对象.
从a中删除项目时vector,请注意必须向下移动已删除项目上方的项目以保留连续存储.对于大型容器来说这可能会变得昂贵
确保将复杂对象存储在vector其复制构造函数和赋值运算符是否有效.在封面下,C++ STL在容器内务管理期间使用这些.
有关reserve()前期存储(即矢量构建或初始化时间)的建议,以便在以后的扩展中最小化内存重新分配,从Java到C++.