¿Por qué no sobrecargar el operador + = () para std :: vector?

Empecé a aprender C ++, por lo que no sé por mi falta de conocimiento / experiencia por qué algo tan simple para un novato como lo que estoy a punto de describir no está ya en el STL. Para agregar un vector a otro vector, debe escribir esto:

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

Me pregunto si en el mundo real las personas simplemente sobrecargan el operador + = para que esto sea menos detallado, por ejemplo, para el efecto de

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

so entonces puedes

v1 += v2;

También tengo esto configurado para push_back a "+ =" un único elemento hasta el final. ¿Hay alguna razón por la que estas cosas no se deben hacer o se eviten específicamente por personas que dominan C ++?

Respuestas a la pregunta(4)

Su respuesta a la pregunta