C++ Uniform Initialization

 

Uniform initialization

These are the various types of initialization:

  1. Value initialization where object is set to default value -> T obj{}
  2. Direct initialization -> T obj{v}
  3. Copy initialization -> T obj = v

Copy initialization should be avoided for user defined types to prevent potentially unnecessary copies

Advantages of uniform initialization

  1. Forces initialization
  2. Uniform syntax; direct initialization for array types
  3. Prevents narrowing conversions:
float f{2.0};
int k{f}; //throws narrowing warning or error

Comments

Popular posts from this blog

QTreeView and QTableView dynamic changes

C++ strings and string_view