C++03規格時点で存在した標準ライブラリに対するC++11規格での変更点をまとめています。
概要 †
C++11規格の策定時には新しい言語機能や新しい標準ライブラリが特に注目されましたが、既存の標準ライブラリにも少なからず変更が加えられました。
当文書では、C++03規格時点で存在した標準ライブラリに対してC++11規格でどのような変更が行われたかをヘッダファイル別にまとめています。
- C++標準ライブラリについてある程度の知識があることを前提としています。
- 名前空間
std
の記述は一部を除き省略しています。
- 記載されている内容はC++11規格に沿ったものであり、C++11対応を謳う処理系がすべてその通りに実装しているとは限りません。
項目一覧 †
- コンテナ
- 要素の集合を保持するクラスを提供するヘッダファイル群。当文書では <string> もこの項に含む。
- 代表的なヘッダファイル: <list> <map> <set> <vector>
- アルゴリズム
- コンテナに適用可能なアルゴリズムとその関連機能を提供するヘッダファイル群。
- 代表的なヘッダファイル: <algorithm> <functional> <iterator>
- 数値処理
- 数値型などの数値に関する機能を提供するヘッダファイル群。
- 代表的なヘッダファイル: <bitset> <complex> <limits> <numeric>
- 入出力
- 入出力(ストリーム)関連の機能を提供するヘッダファイル群。
- 代表的なヘッダファイル: <iostream> <fstream> <sstream> <iomanip>
- ユーティリティ
- 上記項目以外のC++ヘッダファイル群。
- 代表的なヘッダファイル: <exception> <memory> <utility>
- C言語互換
- C標準ライブラリ互換の機能を提供するヘッダファイル群。
- 代表的なヘッダファイル: <cmath> <cstdio> <cstdlib> <ctime>
対象ヘッダファイル一覧
参考サイト †