我有一个问题,如何更新包含更多项的数组,在这里让我向您展示我的意思。
const char* const Foo[] = {"Foo", "Bar"};
const char* const Bar[] = {"Bar", "Foo", "Foo Bar"};
Foo = Bar;
基本将“Foo”更新为“Bar”;我怎么能尝试这个?
答案 0 :(得分:2)
你不能,至少那样。有两个原因,
{"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());