Originariamente inviato da lumen
Punti e virgola mancanti dopo le assegnazioni, è corretto.

La notazione originale è un altro modo di scrivere la stessa cosa...

Grazie!
Quindi lo posso considerare come un'alternativa alla versione estesa (secondo me piu' leggibile).
Anche perche' credevo fosse una buona regola dividere le funzioni vere e proprie dai prototipi, invece il codice

codice:
Message (const std::string& subject,
           const std::string& from)
         : subject_(subject),
           from_   (from)
           {}
sembra mettere insieme sia il propotipo che "l'azione" di assegnamento, e mi pare confusionaria. Ci sono dei motivi particolari per preferirla all'altra?