Creates and initializes objects with dynamic storage duration, that is, objects whose lifetime is not necessarily limited by the scope in which they were created.| en.cppreference.com
Initializes an aggregate from an initializer list. It is a form of list-initialization(since C++11).| en.cppreference.com