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 ++?