Difference between revisions of "Cpp Coding Standards/STL"
From Apache OpenOffice Wiki
m |
m |
||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | + | == The C++ Standard Template Library (STL) == | |
+ | ''Use and pitfalls of the C++ STL.'' | ||
+ | |||
+ | ===== Prefer STL Containers <span id="Cont">(Cont)</span> ===== | ||
+ | Use STL containers instead of self-made types. In particular, use std::vector instead of Sv*Arrays, std::vector (or in very rare cases std::list) instead of DECLARE_LIST etc.<br> | ||
+ | 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.<br> | ||
+ | In most cases vector is the best choice for a container.<br> | ||
+ | You can use vector (and the c_str() function of string classes) to exchange data with non-C++ APIs.<br> | ||
+ | [[/Cont|-> Details]] | ||
+ | |||
+ | ===== Erasing Container Memory <span id="EraseMem">(EraseMem)</span> ===== | ||
+ | Use the standard idiom to shrink the memory footprint of STL containers. [[/EraseMem|-> Details]] | ||
+ | |||
+ | ===== Pure Predicates <span id="PurePred">(PurePred)</span> ===== | ||
+ | Make predicates pure functions, when used in STL algorithms. [[/PurePred|-> Details]] | ||
+ | |||
+ | ---- | ||
+ | [[Category:Coding Standards]] |
Latest revision as of 09:28, 23 May 2007
Contents
The C++ Standard Template Library (STL)
Use and pitfalls of the C++ STL.
Prefer STL Containers (Cont)
Use STL containers instead of self-made types. In particular, use std::vector instead of Sv*Arrays, std::vector (or in very rare cases 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.
-> Details
Erasing Container Memory (EraseMem)
Use the standard idiom to shrink the memory footprint of STL containers. -> Details
Pure Predicates (PurePred)
Make predicates pure functions, when used in STL algorithms. -> Details