【发布时间】:2023-03-22 20:07:02
【问题描述】:
我有一个问题。假设我有两个向量,分别称为 vector1 和 vector2。
vector <int> vector1{1,2};
vector <int> vector2{3,4};
现在我想创建一个名为 vector_2d 的二维向量,并使用 push_back 函数将这两个向量分配给我的新二维向量。
vector <vector <int>> vector_2d;
vector_2d.push_back(vector1);
vector_2d.push_back(vector2);
C++ 如何决定将vector2 分配给vector_2d 的第二行?为什么不将这两个向量背靠背相加?
我还尝试将 vector1 多次添加到名为 new_vector 的新二维向量中。但似乎只添加了一次vector1。为什么会这样?为什么它没有将多个vector1添加到新行或背靠背?
vector <vector <int>> new_vector;
new_vector.push_back(vector1);
new_vector.push_back(vector1);
new_vector.push_back(vector1);
new_vector.push_back(vector1);
【问题讨论】:
-
你怎么知道它只添加了一次vector1?你是怎么衡量的?
-
push_back== 推到后面。 -
“为什么它没有将多个vector1添加到新行或背靠背?”你正是这样做的。您将vector1的副本添加到new_vector的后面
-
我不明白这个问题
-
请在调试器下运行您的程序并检查
new_vector。与打印相比,它会让您更好地理解生成的对象结构。