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