"契約" は、大きなプロジェクトのプログラミングの手間を減らす、 画期的な技術です。契約は、事前条件・事後条件・エラー・不変条件、 からなる概念です。 C++でも言語の変更無しに契約は実現できますが、 扱いにくく、 一貫性のないものになります。 言語レベルで契約のサポートを組み込むことには、こんな利点があります: 契約の記述の一貫性 ツールのサポート 契約の記述に基づく、 コンパイラによるよりよいコード生成 契約の管理や強制の簡単化 契約の継承 "契約"は、考え方は簡単で、常にtrueにならなくてはいけない式、のことです。 trueでなければ契約が破られていて、つまり定義から、プログラムにバグがあることがわかります。 契約はプログラムの仕様の一部分で、それをドキュメントではなくコード自身に書くようにした、 とも言えます。プログラマの皆さんはご存じのように、ドキュメントというのは不完全で、