Repository navigation
initialization
https://en.cppreference.com/cpp/language/direct_initialization https://habr.com/ru/articles/330402/ https://medium.com/@sagar.necindia/c-11-initialization-features-modernizing-member-and-brace-initialization-1dd4b2f552fe https://www.vervecopilot.com/interview-questions/what-no-one-tells-you-about-c-initializer-list-and-interview-performance https://blog.feabhas.com/2019/04/brace-initialization-of-user-defined-types/
https://www.youtube.com/watch?v=TOvUTVjD9MI https://www.youtube.com/watch?v=Dg77_dp8jgE
- designated initializers -? https://gcc.gnu.org/onlinedocs/gcc-4.4.1/gcc/Designated-Inits.html#Designated-Inits
- direct initialization
- copy initialization
- aggregate initialization
- default initialization
- zero initialization
- uniform initialization C++ uniform initialization (introduced in C++11) is the use of curly braces {} to initialize variables, objects, and containers, providing a consistent, unified syntax across all types.
- value initialization
- initializer_list ?
? braced-init-lists (also known as "uniform" or "list-initialization") Braced-init-list (список инициализации в фигурных скобках)
Braced-Init-List Syntax (Introduced in C++11):
T object{arg1, arg2};
Technically called direct-list-initialization. It is more consistent than parentheses and solves several issues:
- Prevents Narrowing: Braces do not allow implicit narrowing conversions (e.g., double to int), making it safer.
- Solves Ambiguity: Braces cannot be mistaken for a function declaration, avoiding the most vexing parse.
- Initializes Containers: Allows direct construction of containers like std::vector with a list of values.
Разница с std::initializer_list
- braced-init-list: Это синтаксис (фигурные скобки и значения внутри), сам по себе не имеет типа.
- std::initializer_list: Это тип стандартной библиотеки, который компилятор автоматически создает, когда видит список внутри фигурных скобок, если целевой объект ожидает этот тип.
https://en.cppreference.com/cpp/language/constructor https://en.cppreference.com/cpp/language/initialization https://share.google/aimode/EUWISjSp0gUcCui4l
My footer
My side bar