Constructors should initialize all its member objects through
initializer list if possible. It is more efficient than building the
constructors via assign
Well, otherwise you call the default constructor and then perform an assignment. That's one step longer and may get really inefficient depending on the nature of initialization.