Difference between revisions of "Cpp Coding Standards/The Cpp Standard Template Library"
From Apache OpenOffice Wiki
Line 14: | Line 14: | ||
[[/Cont|Details]] | [[/Cont|Details]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
==== Erasing Container Memory <span id="EraseMem">(EraseMem)</span> ==== | ==== Erasing Container Memory <span id="EraseMem">(EraseMem)</span> ==== |
Revision as of 15:06, 12 February 2007
Topic-Id: STL
Use and pitfalls of the C++ STL.
Contents
Summary
Prefer STL Containers (Cont)
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.
Erasing Container Memory (EraseMem)
Use the standard idiom to shrink the memory footprint of STL containers.
Pure Predicates (PurePred)
Make predicates pure functions, when used in STL algorithms.