
- C++ Basics
- C++ Home
- C++ Overview
- C++ Environment Setup
- C++ Basic Syntax
- C++ Comments
- C++ Data Types
- C++ Variable Types
- C++ Variable Scope
- C++ Constants/Literals
- C++ Modifier Types
- C++ Storage Classes
- C++ Operators
- C++ Loop Types
- C++ Decision Making
- C++ Functions
- C++ Numbers
- C++ Arrays
- C++ Strings
- C++ Pointers
- C++ References
- C++ Date & Time
- C++ Basic Input/Output
- C++ Data Structures
- C++ Object Oriented
- C++ Classes & Objects
- C++ Inheritance
- C++ Overloading
- C++ Polymorphism
- C++ Abstraction
- C++ Encapsulation
- C++ Interfaces
Uniform Initialization in C++
Here we will discuss about the uniform initialization in C++. This is supported from C++11 version. The uniform initialization is a feature that permits the usage of a consistent syntax to initialize variables and objects which are ranging from primitive type to aggregates. In other words, it introduces brace-initialization that applies braces ({}) to enclose initializer values.
Syntax
type var_name{argument_1, argument_2, .... argument_n}
Initialize Dynamically allocated arrays
Example (C++)
Let us see the following implementation to get better understanding −
#include <bits/stdc++.h> using namespace std; int main() { int* pointer = new int[5]{ 10, 20, 30, 40, 50 }; cout<lt;"The contents of array are: "; for (int i = 0; i < 5; i++) cout << pointer[i] << " " ; }
Output
The contents of array are: 10 20 30 40 50
Initialization of an array data member of a class
Example
#include <iostream> using namespace std; class MyClass { int arr[3]; public: MyClass(int p, int q, int r) : arr{ p, q, r } {}; void display(){ cout <<"The contents are: "; for (int c = 0; c < 3; c++) cout << *(arr + c) << ", "; } }; int main() { MyClass ob(40, 50, 60); ob.display(); }
Output
The contents are: 40, 50, 60,
Implicitly initialize objects to return
Example
#include <iostream> using namespace std; class MyClass { int p, q; public: MyClass(int i, int j) : p(i), q(j) { } void display() { cout << "(" <<p <<", "<< q << ")"; } }; MyClass func(int p, int q) { return { p, q }; } int main() { MyClass ob = func(40, 50); ob.display(); }
Output
(40, 50)
Implicitly initialize function parameter
Example
#include <iostream> using namespace std; class MyClass { int p, q; public: MyClass(int i, int j) : p(i), q(j) { } void display() { cout << "(" <<p <<", "<< q << ")"; } }; void func(MyClass p) { p.display(); } int main() { func({ 40, 50 }); }
Output
(40, 50)
- Related Articles
- Variable initialization in C++
- Zero Initialization in C++
- Collection Initialization in C#
- Is there a difference between copy initialization and direct initialization in C++?
- Initialization vs Instantiation in C#
- Double brace initialization in Java
- Boolean list initialization in Python
- Initialization of static variables in C
- Static Data Member Initialization in C++
- A static initialization block in Java
- Initialization of a multidimensional array in C
- Initialization of variable sized arrays in C
- Initialization, declaration and assignment terms in Java
- A non-static initialization block in Java
- What are uniform and non-uniform motion?

Advertisements