C++03

From Wikipedia, the free encyclopedia

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.[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[]

References[]

  1. ^ "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.
  2. ^ C++ Standard Core Language Issue Index by Status: Issues with "TC1" Status
  3. ^ C++ Standard Library Issues List: TC1 (125 issues)
  4. ^ "Value initialization", C++ reference (wiki)
  5. ^ C++ Standard Library Defect Report List: 69. Must elements of a vector be contiguous?
  6. ^ 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.


Retrieved from ""