const char* const array



我有一个问题,如何用更多的项目更新数组,这里让我告诉你我的意思。

const char* const Foo[] = {"Foo", "Bar"};
const char* const Bar[] = {"Bar", "Foo", "Foo Bar"};
Foo = Bar;

基本上在更新"Foo";Bar";我怎么能这么做呢?

你不能,至少那样。有两个原因,

  1. c++中不能将一个数组赋值给另一个数组。
  2. 我对的理解基本上是更新"Foo"到"Bar"表示您试图将{"Bar", "Foo", "Foo Bar"}添加到{"Foo", "Bar"}
  3. 说明Foo阵列容量不足。

这里需要的是std::vector。这是一个可动态调整大小的数组。

#include <vector>    // For std::vector
#include <string>    // For std::string
std::vector<std::string> foo = { "Foo", "Bar" };
std::vector<std::string> bar = { "Bar", "Foo", "Foo Bar" };

但是仍然不能使用赋值操作符(=)将元素从一个数组附加到另一个数组。你必须插入它。

foo.insert(foo.end(), bar.begin(), bar.end());

最新更新