C++03C++ 语言国际标准的一个版本,正式名称是 ISO/IEC 14882:2003[1]。该标准由国际标准化组织(ISO)和国际电工委员会(IEC)共同制定。

C++03 取代了 C++ 标准的前一个版本 C++98英语C++98,后被 C++11 所取代。C++03 主要是在前一个版本的基础上针对实现方的一些问题进行了修复,从而在各个实现间达到一致、保持了可移植性。[2]该版本共涉及 92 项核心语言缺陷报告[3]、125 项库缺陷报告[4],所提供的新特性只有一项:值初始化(英語:value initialization[5]

C++03 的第 69 号库缺陷报告非常值得一提[6],为了解决该问题,标准中加入了「std::vector 中的元素必须连续存储」的要求[7]

另见

参考资料

  1. ^ ISO/IEC 14882:1998 - Programming languages -- C++. 国际标准化组织. [2018-07-09]. (原始内容存档于2018-08-23) (英语). 
  2. ^ Bjarne Stroustrup's FAQ – What is the difference between C++98 and C++03?. Bjarne Stroustrup's homepage. [2018-07-09]. (原始内容存档于2016-02-06). 
  3. ^ C++ Standard Core Language Issue Index by Status: Issues with "TC1" Status. [2018-07-09]. (原始内容存档于2018-09-19). 
  4. ^ C++ Standard Library Issues List: TC1 (125 issues). [2018-07-09]. (原始内容存档于2018-07-21). 
  5. ^ Value initialization, C++ reference (wiki), [2018-07-09], (原始内容存档于2018-05-27) 
  6. ^ C++ Standard Library Defect Report List: 69. Must elements of a vector be contiguous?. [2018-07-09]. (原始内容存档于2018-07-19). 
  7. ^ Herb, Sutter. More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions. Boston: Pearson Education, Inc. 2002: 48 [2018-07-09]. ISBN 0-201-70434-X. (原始内容存档于2016-12-24).