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.[2] This revision addressed 92 core language defect reports,[3] 125 library defect reports,[4] and included only one new language feature: value initialization[5]

Among the more noteworthy defect reports addressed by C++03 was the library defect report 69,[6] whose resolution added the requirement that elements in a vector are stored contiguously.[7] 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 alsoEdit

ReferencesEdit

  1. ^ http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2020/p1000r4.pdf
  2. ^ "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.
  3. ^ C++ Standard Core Language Issue Index by Status: Issues with "TC1" Status
  4. ^ C++ Standard Library Issues List: TC1 (125 issues)
  5. ^ "Value initialization", C++ reference (wiki)
  6. ^ C++ Standard Library Defect Report List: 69. Must elements of a vector be contiguous?
  7. ^ 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.