Difference between revisions of "Cpp Coding Standards/CLSINIT"

From Apache OpenOffice Wiki
Jump to: navigation, search
 
m
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
#REDIRECT [[../Class_Construction,_Destruction_and_Copying]]
+
== Class Construction, Destruction and Copying (CLSINIT) ==
 +
''Special issues of constructors, copying and destructors.''
 +
 
 +
===== No Virtual Calls in Constructor or Destructor <span id="NoVirt">(NoVirt)</span> =====
 +
Don't call your own class' virtual functions in a constructor or destructor. [[/NoVirt|-> Details]]
 +
 
 +
===== Constructor Initialization Section <span id="InitSect">(InitSect)</span> =====
 +
Use the constructors initialization section to initialize your members. [[/InitSect|Details >]]
 +
 
 +
===== Obvious Copyability <span id="ObvCopy">(ObvCopy)</span> =====
 +
Make it obvious, if the class is intended to be copied. Forbid copying otherwise. [[/ObvCopy|Details >]]
 +
 
 +
===== Copy and Assign Consistently <span id="CopyAssign">(CopyAssign)</span> =====
 +
Declare copy and assignment operators consistently – either both, or none. [[/CopyAssign|Details >]]
 +
----
 +
==== Related Rules ====
 +
'''No Implicit Conversions''' [[../CLSDESIGN#NoConv|-> CLSDESIGN:NoConv]]
 +
 
 +
'''Which Functions Never Fail''' [[../ERR#NoFail|-> ERR:NoFail]]
 +
 
 +
'''Right Destructor''' [[../VIRTUAL#RightDestr|-> VIRTUAL:RightDestr]]
 +
 
 +
'''Safe Copying''' [[../VIRTUAL#SafeCopy|-> VIRTUAL:SafeCopy]]
 +
----
 +
[[Category:Coding Standards]]

Latest revision as of 08:56, 23 May 2007

Class Construction, Destruction and Copying (CLSINIT)

Special issues of constructors, copying and destructors.

No Virtual Calls in Constructor or Destructor (NoVirt)

Don't call your own class' virtual functions in a constructor or destructor. -> Details

Constructor Initialization Section (InitSect)

Use the constructors initialization section to initialize your members. Details >

Obvious Copyability (ObvCopy)

Make it obvious, if the class is intended to be copied. Forbid copying otherwise. Details >

Copy and Assign Consistently (CopyAssign)

Declare copy and assignment operators consistently – either both, or none. Details >


Related Rules

No Implicit Conversions -> CLSDESIGN:NoConv

Which Functions Never Fail -> ERR:NoFail

Right Destructor -> VIRTUAL:RightDestr

Safe Copying -> VIRTUAL:SafeCopy


Personal tools