Почему бы не перегрузить оператор + = () для std :: vector?

Я начал изучать C ++, поэтому из-за отсутствия знаний / опыта я не знаю, почему новичку кажется, что то, что я собираюсь описать, не так просто уже в STL. Чтобы добавить вектор к другому вектору, вы должны ввести это:

v1.insert(v1.end(), v2.begin(), v2.end());

Мне интересно, не перегружают ли люди в реальном мире оператор + =, чтобы сделать его менее подробным, например, как эффект

template <typename T>
void operator+=(std::vector<T> &v1, const std::vector<T> &v2) {
    v1.insert(v1.end(), v2.begin(), v2.end());
}

, чтобы вы can

v1 += v2;

У меня также есть эта настройка для push_back, чтобы "+ =" один элемент до конца. Есть ли причина, по которой эти вещи не должны выполняться или их специально избегают люди, хорошо знающие C ++?

23
задан Lukasz Wiklendt 16 June 2011 в 01:38
поделиться