Difference between revisions of "Cpp Coding Standards/STL"

From Apache OpenOffice Wiki
< Cpp Coding StandardsRedirect page
Jump to: navigation, search
m (Cpp Coding Standards/Topics/STL moved to Cpp Coding Standards/STL: Improve Cpp_Coding_Standards structure.)
m
Line 1: Line 1:
== The C++ Standard Template Library ==
+
#REDIRECT [[Cpp_Coding_Standards/The Cpp Standard Template Library]]
Use and pitfalls of the C++ STL.
+
----
+
=== Summary ===
+
==== UseContainers ====
+
Use STL containers instead of self-made types. In particular, use std::vector instead of Sv*Arrays, std::list instead of DECLARE_LIST etc.
+
 
+
Use std::vector (or an appropriate string class) instead of C-arrays, if there is the slightest chance the array length may ever become variable. 
+
 
+
In most cases vector is the best choice for a container.
+
 
+
You can use vector (and the c_str() function of string classes) to exchange data with non-C++ APIs.
+
 
+
==== UseAlgorithms ====
+
Prefer STL algorithm calls to handwritten loops.
+
 
+
==== Erase ====
+
Use the standard idiom to shrink the memory footprint of STL containers
+
 
+
==== PurePredicates ====
+
Make predicates pure functions, when used in STL algorithms.
+
 
+
----
+
=== Explanations ===
+
 
+
----
+
[[Category:Coding Standards]]
+

Revision as of 14:47, 28 November 2006

Personal tools