Zdecydowanie, użyj <<
- łączenie łańcucha spowoduje utworzenie kopii dwóch połączonych ze sobą ciągów. Niezależnie od tego, czy przydzielana jest dodatkowa pamięć, to w jaki sposób łańcuchy są zaimplementowane w bibliotece C++, ale jeśli imiona i nazwiska są "wystarczająco długie" (razem więcej niż 8-16 znaków), to najprawdopodobniej przydzieli pamięć (a następnie zwolnij ponownie, gdy tymczasowa kopia nie jest już potrzebna).
W porównaniu z operatorem <<
w porównaniu z nim będzie niewiele, więc bez wątpienia lepiej.
Oczywiście, chyba że wykonasz tysiące takich rzeczy, jest mało prawdopodobne, że będziesz mieć wymierną różnicę. Ale dobrze jest nie marnować cykli procesora, nigdy nie wiesz, jaki dobry użytek może być gdzie indziej ...;)
Można również wykonać test, który jest szybszy i opublikować wyniki. – Csq
Zakładam, że odsyłasz 'std :: string' do' operatora + 'konkatenacji? To nie zadziała z surowymi 'const char *' s. – 0x499602D2