Uniform initialization These are the various types of initialization: Value initialization where object is set to default value -> T obj{} Direct initialization -> T obj{v} Copy initialization -> T obj = v Copy initialization should be avoided for user defined types to prevent potentially unnecessary copies Advantages of uniform initialization Forces initialization Uniform syntax; direct initialization for array types Prevents narrowing conversions: float f { 2.0 } ; int k { f } ; //throws narrowing warning or error