Ask Your Question
0

What is the difference between default initialization and value initialization in C++? When is each one called, and what is the best method for reliably initializing a member with a template type?

asked 2023-05-25 13:15:44 +0000

qstack gravatar image

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2023-05-25 13:21:01 +0000

pufferfish gravatar image

Default initialization in C++ will leave primitive types with an unspecified value and objects with a default constructor called, while value initialization will set primitive types to 0 and objects to their default value.

Default initialization is called when an object is declared without an initializer, while value initialization is called when an object is declared with an empty initializer.

The best method to reliably initialize a member with a template type is to use value initialization. This ensures that objects are initialized to their default value, regardless of the type of the object.

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: 2023-05-25 13:15:44 +0000

Seen: 8 times

Last updated: May 25 '23