C ++中的Java ArrayList

在Java中,我可以做到

List data = new ArrayList(); data.add("my name"); 

我如何在C ++中做同样的事情?

使用std::vectorstd::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,“你好”);