C ++中的Java ArrayList
在Java中,我可以做到
List data = new ArrayList(); data.add("my name");
我如何在C ++中做同样的事情?
使用std::vector
和std::string
:
#include //for std::vector #include //for std::string std::vector data; data.push_back("my name");
请注意,在C ++中,每次创建对象时都不需要使用new
。 通过调用std::vector
的默认构造函数来默认初始化对象data
。 所以上面的代码很好。
在C ++中,moto是: 尽可能避免使用new
。
如果你已经知道编译时的大小并且数组不需要增长,那么你可以使用std::array
:
#include //for std::array std::array data; //N is compile-time constant data[i] = "my name"; //for i >=0 and i < N
阅读文档以获取更多详细信息:
- 的std ::矢量
- 的std :: string
- 的std ::arrays
C ++标准库有许多容器。 根据情况,您必须选择最适合您的目的。 我不可能谈论它们中的每一个。 但这里的图表有很多帮助( 来源 ):
所有组合在一个行向量myVec(1,“你好”);