Ask Your Question
3

How are POD types default initialized and value initialized in C++?

asked 2021-08-09 11:00:00 +0000

plato gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
3

answered 2021-12-30 01:00:00 +0000

ladyg gravatar image

POD (Plain Old Data) types are default and value initialized differently in C++.

  1. Default Initialization:

POD types are default initialized to zero by default. This means that if a variable of POD type is defined without any initializer, its value will be set to zero. For example:

int x; //default initialized to 0 char c; //default initialized to '\0' float f; //default initialized to 0.0

  1. Value Initialization:

POD types can also be value initialized, which means that they are initialized to a specific value. This can be done by using curly braces to provide an initial value for the variable. For example:

int x = {}; //value initialized to 0 char c{}; //value initialized to '\0' float f{}; //value initialized to 0.0

Alternatively, a POD type can be value initialized by using the constructor syntax, even though POD types do not have constructors. This is because the constructor syntax is used as a special case for value initialization of all types, including POD types. For example:

int x = int(); //value initialized to 0 char c = char(); //value initialized to '\0' float f = float(); //value initialized to 0.0

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account. This space is reserved only for answers. If you would like to engage in a discussion, please instead post a comment under the question or an answer that you would like to discuss

Add Answer


Question Tools

Stats

Asked: 2021-08-09 11:00:00 +0000

Seen: 12 times

Last updated: Dec 30 '21