Concatenación de cadenas eficiente en C ++

Escuché a algunas personas expresar preocupaciones sobre el operador "+" en std :: string y varias soluciones para acelerar la concatenación. ¿Alguno de estos es realmente necesario? Si es así, ¿cuál es la mejor manera de concatenar cadenas en C ++?