プログラミング/C++/C++11 既存ライブラリ変更点 のバックアップ(No.2)


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>
入出力(作成中)
入出力(ストリーム)関連の機能を提供するヘッダファイル群。
代表的なヘッダファイル: <fstream> <sstream> <iostream> <iomanip>
ユーティリティ
上記項目以外のC++ヘッダファイル群。
代表的なヘッダファイル: <exception> <memory> <utility>
C言語互換(作成中)
C標準ライブラリ互換の機能を提供するヘッダファイル群。
代表的なヘッダファイル: <cmath> <cstdio> <cstdlib> <cstring>

参考サイト