2004-05-29から1日間の記事一覧

is_sorted --sortの事後条件--

というわけで,ここまで長々訳の分からないことを書いておきながら,結論は至ってシンプルです.自前のfor文回すのが一番楽ですが,ここはあえて既存のアルゴリズムでやってみました. template inline bool is_sorted(ForwardIterator first, ForwardIterat…

何故,厳密で弱い順序が重要なのか?

さて,ようやく自分の疑問の核心部にたどり着きました. 厳密で弱い順序が何故STLにおいてここまで重要視されているのか,多くの書籍は「数学的な詳細には立ち入らない」としてこの部分の議論を避けているので,ここではあえてそれに踏み入ってみます. 厳密…

厳密で弱い順序(Strict Weak Order)

STLにおいて,順序を定める述語を指定するときにはすべからく「厳密で弱い順序(Strict Weak Order)」という概念が出てきます.この概念がいかにSTLで重要な位置を占めているかは次の事実を見てもらえば一目瞭然です. std::setで要素の比較に使われる述語…

値が等しいということ(Equality)

まず最初に「値が等しいということ(Equality)」という概念について今一度確認してもらいます.C++(に限らず多くのprogramming言語)で普通"=="(及び"!=")で表される関係です. int a = 1; int b = 1; int c = 2; assert( a == b ); // `a' is equal to …

is_sorted --sortの事後条件-- ・・・その前に

ここ2日ほど考えていたis_sortedですが,ようやく結論が出ました.ですがその結論の前に,多分多くの人にとっては全然面白くないであろうことを延々議論します. 結論は今日のblogの一番最後にありますので,結論だけ見たい人はid:Cryolite:20040529#p5へ飛…