Get the App
SLTechnology News&Howtos  ›  Internet Technology  › 

Why should C++ initialize rather than assign values in the constructor

Shulou Source: shulou.com Published: 2022-06-01 19:11:52 10月03日 Update

This article introduces the knowledge of "why the constructor of C++ should be initialized rather than assigned". Many people will encounter this dilemma in the operation of actual cases. then let the editor lead you to learn how to deal with these situations! I hope you can read it carefully and be able to achieve something!

C.49: what should be done in the constructor is initialization instead of assigning Reason (reason)

Initialization makes it clear that what is done is initialization rather than assignment, and that it can be done more gracefully and efficiently. Prevent "use before assignment" errors.

Example, good (good example) class A {/ / Good

String s1

Public:

A (czstring p): S1 {p} / / GOOD: directly construct (and the C-string is explicitly named)

/ /...

}; Example, bad (negative example) class B {/ / BAD

String s1

Public:

B (const char* p) {S1 = p;} / / BAD: default constructor followed by assignment

/ /...

}

Class C {/ / UGLY, aka very bad

Int* p

Public:

C () {cout

Tags: Functions examples examples content more knowledge beautiful practical effective good learned next reasons parameters negatives dilemmas facts situations articles ways Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno macOS Redmi Linux Apple Huawei