我有一个问题,如何用更多的项目更新数组,这里让我告诉你我的意思。
const char* const Foo[] = {"Foo", "Bar"};
const char* const Bar[] = {"Bar", "Foo", "Foo Bar"};
Foo = Bar;
基本上在更新"Foo";Bar";我怎么能这么做呢?
你不能,至少那样。有两个原因,
- c++中不能将一个数组赋值给另一个数组。
- 我对的理解基本上是更新"Foo"到"Bar"表示您试图将
{"Bar", "Foo", "Foo Bar"}
添加到{"Foo", "Bar"}
。 说明
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());