Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

c++
variable
declaration
curly
braces

Declaring a variable with braces in C++

Educative Answers Team

Initialization occurs when you provide a variable with a value. In C++, there are several methods used to declare and initialize a variable.

The most basic way to initialize a variable is to provide it with a value at the time of its declaration. For example:

#include <iostream>
using namespace std;

int main() {
  int a = 20;
  cout << "The value of variable a is "<< a << endl;
}

However, we can also use curly braces to initialize variables in C++:

#include <iostream>
#include <vector>
using namespace std;

int main() {
  int a{20};
  cout << "The value of variable a is: "<< a << endl;

  string b{"This is a string"};
  cout << "The value of variable b is: "<< b << endl;

  std::vector<int> c{10, 5};
  cout<< "The values of variable c are: " << endl;
  for(int i=0; i<c.size(); i++){
    cout << c[i] << endl;
  }
}

The code above shows how curly braces can be used to declare various types of variables and assign values to them. Using curly braces instead of an = sign is one of the many ways to initialize.

Using curly braces to initialize a variable also prevents narrowing. Narrowing, or more precisely narrowing conversion, is the implicit conversion of arithmetic values that includes​ a loss of accuracy.

#include <iostream>

int main(){
  int myint(3.14); 
  std::cout << "myint: " << myint << std::endl;

  int myint1{3.14}; 
  std::cout << "myint: " << myint1 << std::endl;

}

In the code above, the compiler compiles line 4 even though it is converting a decimal number to an integer. This results in a loss of accuracy. However, when the same initialization is done using braces in line 7, the compiler generates an error that alerts the user to the occurrence​ of narrowing.

RELATED TAGS

c++
variable
declaration
curly
braces
Copyright ©2022 Educative, Inc. All rights reserved
RELATED COURSES

View all Courses

Keep Exploring