Constructors should initialize all its member objects through
initializer list if possible. It is more efficient than building the
constructors via assign
Because it initialises directly, instead of default initialising and then assigning. It likely won't matter performance-wise for PODs, but it will if the type constructor is doing heavy-weight work.
Also, in some cases you must use init list, so you should always do it for consistency.