no, tu hai una rappresentazione interna di ciao ciao che viene clonata per creare la tua stringa, roba inutile nel 95% delle situazioni in cui basta fare solo un assegnamento.
Passare per il costruttore significa creare 2 oggetti con riferimenti diversi che hanno lo stesso contenuto (inefficiente appunto)