Classes Part 22 - Curly brace versus parenthesis and std::initializer_list| Modern cpp Series Ep. 59

►Full C++ Series Playlist:    • The C++ Programming Language   ►Find full courses on: https://courses.mshah.io/ ►Join as Member to Support the channel:    / @mikeshah   ►Lesson Description: In this lesson I show you three different ways to initialize a variable (the fourth would be to perhaps not initialize the variable which is bad practice). In C++ there is a difference between using curly braces and parenthesis. Parenthesis will call the constructor and setup any arguments. Curly braces may also call the right constructor, but will also prevent narrowing (i.e. conversion of types). In addition, using curly braces to initialize an object will use a constructor with an std::initializer_list if one is defined. ►YouTube Channel:    / mikeshah   ►Please like and subscribe to help the channel!

Classes part 23 - Composition (and aggregation) versus Inheritance in C++ | Modern Cpp Series Ep. 60
▶︎

Classes part 23 - Composition (and aggregation) versus Inheritance in C++ | Modern Cpp Series Ep. 60

C++ Classes part 1 - Introduction to C++ class | Modern Cpp Series Ep. 37
▶︎

C++ Classes part 1 - Introduction to C++ class | Modern Cpp Series Ep. 37

Back to Basics: Initialization in C++ - Ben Saks - CppCon 2023
▶︎

Back to Basics: Initialization in C++ - Ben Saks - CppCon 2023

STL std::string_view and when to use it versus std::string | Modern Cpp Series Ep. 113
▶︎

STL std::string_view and when to use it versus std::string | Modern Cpp Series Ep. 113

Why Aliens Would NEVER Invade Africa
▶︎

Why Aliens Would NEVER Invade Africa

Generics in C++ 5 - Variadic arguments and Variadic Function Templates | Modern Cpp Series Ep. 75
▶︎

Generics in C++ 5 - Variadic arguments and Variadic Function Templates | Modern Cpp Series Ep. 75

How to Actually Learn C (2027 Edition)
▶︎

How to Actually Learn C (2027 Edition)

lvalue, rvalue, lvalue references and an intro to rvalue references | Modern Cpp Series Ep. 31
▶︎

lvalue, rvalue, lvalue references and an intro to rvalue references | Modern Cpp Series Ep. 31

C Strings are Terrible!
▶︎

C Strings are Terrible!

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

Re-inventing move semantics in modern C++ in 13 minutes
▶︎

Re-inventing move semantics in modern C++ in 13 minutes

Classes part 3 - Copy Constructor, Copy Assignment(Deep and Shallow Copy) | Modern Cpp Series Ep. 39
▶︎

Classes part 3 - Copy Constructor, Copy Assignment(Deep and Shallow Copy) | Modern Cpp Series Ep. 39

Classes part 18 - Understanding the vtable (Popular interview question) | Modern Cpp Series Ep. 54
▶︎

Classes part 18 - Understanding the vtable (Popular interview question) | Modern Cpp Series Ep. 54

std::weak_ptr - A non-owning smart pointer | Modern Cpp Series Ep. 35
▶︎

std::weak_ptr - A non-owning smart pointer | Modern Cpp Series Ep. 35

An Introduction to Multithreading in C++20 - Anthony Williams - CppCon 2022
▶︎

An Introduction to Multithreading in C++20 - Anthony Williams - CppCon 2022

CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”
▶︎

CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”

Classes part 10 - Rule of Five - Have fun reducing memory allocations! | Modern Cpp Series Ep. 46
▶︎

Classes part 10 - Rule of Five - Have fun reducing memory allocations! | Modern Cpp Series Ep. 46

Classes part 6 - Operator overloading | Modern Cpp Series Ep. 42
▶︎

Classes part 6 - Operator overloading | Modern Cpp Series Ep. 42

How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python
▶︎

How Much Memory for 1,000,000 Threads in 7 Languages | Go, Rust, C#, Elixir, Java, Node, Python

Walter Model's Top 3 Legendary Defensive Masterpieces (No AI)
▶︎

Walter Model's Top 3 Legendary Defensive Masterpieces (No AI)