From Apache OpenOffice Wiki
|
|
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