How does C++ initialize data members using in-class initializers
This article mainly introduces "how C++ uses in-class initializers to initialize data members". In daily operations, I believe many people have doubts about how C++ uses in-class initializers to initialize data members. The editor consulted all kinds of materials and sorted out simple and easy-to-use methods of operation. I hope it will be helpful to answer the doubts about "how C++ uses in-class initializers to initialize data members". Next, please follow the editor to study!
C.45: don't just initialize the default constructor for data members; use in-class member initializers
Reason (reason)
Using an in-class initializer allows the compiler to generate a function for you. Functions generated by the compiler are more efficient.
Example, bad (negative example) class X1 {/ / BAD: doesn't use member initializers
String s
Int i
Public:
X1 (): s {"default"}, I {1} {}
/ /...
}; Example (sample) class X2 {
String s = "default"
Int I = 1
Public:
/ / use compiler-generated default constructor
/ /...
}; Enforcement (implementation recommendations)
(simple) the default constructor should do more than initializing data members with constants.
Translator's note: it almost means to kill a chicken with a cow's knife. At this point, the study on "how C++ uses in-class initializers to initialize data members" is over. I hope to be able to solve your doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!