C++03 is a version of the ISO/IEC 14882 standard for the C++ programming language. 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 version 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. This revision addressed 92 core language defect reports, 125 library defect reports, and included only one new language feature: value initialization
Among the more noteworthy defect reports addressed by C++03 was the library defect report 69, whose resolution added the requirement that elements in a vector are stored contiguously. 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.
- "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.