Por que não sobrecarregar o operador + = () para std :: vector?

Comecei a aprender C ++, por isso não sei por falta de conhecimento / experiência por que algo aparentemente tão simples para um novato quanto o que estou prestes a descrever ainda não está no STL. Para adicionar um vetor a outro vetor, você deve digitar o seguinte:

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

Estou me perguntando se no mundo real as pessoas sobrecarregam o operador + = para tornar isso menos detalhado, por exemplo, para o efeito de

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

então você pode

v1 += v2;

Também tenho isso configurado para push_back para "+ =" um único elemento até o final. Existe alguma razão para que essas coisas não devam ser feitas ou sejam especificamente evitadas por pessoas com proficiência em C ++?

questionAnswers(4)

yourAnswerToTheQuestion