Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Uniform Initialization | Type Inference and Initialization
Quizzes & Challenges
Quizzes
Challenges
/
C++ Modern Features

bookUniform Initialization

Uniform initialization, introduced in C++11, provides a consistent brace {} syntax for initializing variables, arrays, structs, and objects.

main.cpp

main.cpp

copy
123
int a {5}; // Initialize 'int' double b {3.14}; // Initialize 'double' char c {'A'}; // Initialize 'char'
Note
Note

Using braces {} avoids accidental narrowing conversions. For example, int a{3.5}; would cause a compile-time error.

Uniform initialization works consistently for both built-in and standard containers.

main.cpp

main.cpp

copy
12345678910
#include <array> #include <iostream> int main() { int numbers[] {1, 2, 3, 4}; // Built-in array std::array<int, 3> arr {10, 20, 30}; // `std::array` std::cout << numbers[3] << ", " << arr[2] << std::endl; }

You can initialize structs and classes directly using braces.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> struct Point { int x; int y; }; int main() { Point p1 {7, 9}; // Uniform initialization for `struct` std::cout << "(" << p1.x << ", " << p1.y << ")" << std::endl; }

Uniform initialization gives a single, safe way to initialize any object using braces { }, reducing ambiguity and preventing narrowing errors.

question mark

What is one benefit of using uniform initialization {}?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you give examples of uniform initialization in C++?

What are narrowing errors and how does uniform initialization prevent them?

Are there any limitations or drawbacks to using uniform initialization?

Awesome!

Completion rate improved to 14.29

bookUniform Initialization

Свайпніть щоб показати меню

Uniform initialization, introduced in C++11, provides a consistent brace {} syntax for initializing variables, arrays, structs, and objects.

main.cpp

main.cpp

copy
123
int a {5}; // Initialize 'int' double b {3.14}; // Initialize 'double' char c {'A'}; // Initialize 'char'
Note
Note

Using braces {} avoids accidental narrowing conversions. For example, int a{3.5}; would cause a compile-time error.

Uniform initialization works consistently for both built-in and standard containers.

main.cpp

main.cpp

copy
12345678910
#include <array> #include <iostream> int main() { int numbers[] {1, 2, 3, 4}; // Built-in array std::array<int, 3> arr {10, 20, 30}; // `std::array` std::cout << numbers[3] << ", " << arr[2] << std::endl; }

You can initialize structs and classes directly using braces.

main.cpp

main.cpp

copy
123456789101112
#include <iostream> struct Point { int x; int y; }; int main() { Point p1 {7, 9}; // Uniform initialization for `struct` std::cout << "(" << p1.x << ", " << p1.y << ")" << std::endl; }

Uniform initialization gives a single, safe way to initialize any object using braces { }, reducing ambiguity and preventing narrowing errors.

question mark

What is one benefit of using uniform initialization {}?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 2
some-alt