C++03
C++03 is a version of an international standard for the programming language C++. It is defined by two standards organizations, the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), in standard ISO/IEC 14882:2003.
C++03 replaced the prior revision of the C++ standard, called C++98, and was later replaced by C++11. C++03 was primarily a bug fix release for the implementers to ensure greater consistency and portability.[1] This revision addressed 92 core language defect reports,[2] 125 library defect reports,[3] and included only one new language feature: value initialization[4]
Among the more noteworthy defect reports addressed by C++03 was the library defect report 69,[5] whose resolution added the requirement that elements in a vector are stored contiguously.[6] This codifies the common expectation that a C++ std::vector
object uses a memory layout similar to an array. While most implementations satisfied this expectation, it was not required by C++98.
See also
- C++ Technical Report 1 - Additions to the C++03 Standard Library
- C++: Standardization
- C++ Standard Library
References
- "Bjarne Stroustrup's FAQ – What is the difference between C++98 and C++03?". Bjarne Stroustrup's homepage. Archived from the original on February 6, 2016.
- C++ Standard Core Language Issue Index by Status: Issues with "TC1" Status
- C++ Standard Library Issues List: TC1 (125 issues)
- "Value initialization", C++ reference (wiki)
- C++ Standard Library Defect Report List: 69. Must elements of a vector be contiguous?
- Herb, Sutter (2002). More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Boston: Pearson Education, Inc. p. 48. ISBN 0-201-70434-X.
- British Standards Institute (2003-10-01). The C++ Standard: Incorporating Technical Corrigendum No. 1. John Wiley & Sons, Inc. ISBN 978-0-470-84674-2.