История изменений
Исправление Kroz, (текущая версия) :
Вы тут в примере 2 забыли про итерацию второго вектора.
И правда.
Case 2, пример 2 (исправленный): «плюс» означает сумму элементов массивов:
#include <iostream>
#include <vector>
using namespace std;
vector<int> operator+(vector<int> &a, vector<int> &b)
{
vector<int> r;
auto i_b = b.begin();
for (auto e_a: a)
if (i_b != b.end()) {
r.push_back(e_a + *i_b);
i_b++;
}
return r;
}
int main()
{
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {4, 5, 6};
vector<int> v3;
v3 = v1 + v2;
cout << "Vector content: ";
for (auto e: v3)
cout << e << " ";
cout << endl;
}
$ g++ ./cpp_vector_add.cpp && ./a.out
Vector content: 5 7 9
Исходная версия Kroz, :
Вы тут в примере 2 забыли про итерацию второго вектора.
И правда.
Case 2, пример 2 (исправленный): «плюс» означает сумму элементов массивов:
#include <iostream>
#include <vector>
using namespace std;
vector<int> operator+(vector<int> &a, vector<int> &b)
{
vector<int> r;
auto i_b = b.begin();
for (auto e_a: a)
if (i_b != b.end()) {
r.push_back(e_a + *i_b);
i_b++;
}
return r;
}
int main()
{
vector<int> v1 = {1, 2, 3};
vector<int> v2 = {4, 5, 6};
vector<int> v3;
v3 = v1 + v2;
cout << "Vector content: ";
for (auto e: v3)
cout << e << " ";
cout << endl;
}
$ g++ ./cpp_vector_add.cpp && ./a.out
Vector content: 5 7 9