It's good to take precautions, however because the strings are all const and can't be changed anyway, and because the class (and its use cases) are so tiny, it may be overzealous. You could even get away with changing it to a struct and making all the fields public, and you wouldn't even need the constructor (see how DbInfo does this here : https://github.com/TimSimpsonR/sneaky-pete/blob/master/src/nova/guest/backup/BackupManager.cc#L301) .