Bazaarの記事の翻訳にだいぶ時間を取られたが、C++03とC++11の違いシリーズを再開する。今回は、コンテナーライブラリーの違いについて。 変更: メンバー関数sizeの複雑度(complexity)が定数(constant)になった。 C++03では、コンテナーのメンバー関数sizeの複雑度は規定されていなかった。これにより、例えばコンテナーの要素数に比例して線形にコストが上がるような実装も可能であった。たとえば、コンテナーの内部実装がリンクリストである場合、要素数を記録するためのデータメンバーを持たずに、メンバー関数sizeが呼び出された際に、イテレーターを全てたどって要素数をその場で計算するような実装も可能であった。 そのような実装を可能にしてしまうということは、移植性を考慮したコードでパフォーマンスの予測がたたないという問題がある。そこで、C++11では、sizeの複雑性は定