1

比較メソッドは、2 つの文字列の差のようなものを示す整数値 (または一致した場合は 0) を返すことを知っています。私の質問は、不一致が見つかった場合、不一致で比較を停止するか、指定されるまで終了するかです。

コンパイラに依存しますか、それとも標準ですか? 現在gcc 4.1.2を使用しています

4

2 に答える 2

3

まあ、標準は気にしませんが、比較の結果 (標準はそれだけを気にします) は、最初の一致しない文字に完全に依存しています。そのため、プラットフォームのキャッシュまたはワード サイズに対して wrt を処理する方が簡単な場合は、おそらくいくつかの文字を除いて、他のものを比較することは、どの実装でも無意味です。

于 2012-09-04T20:02:53.413 に答える
1

指定されていません。

rhs.compare(lhs)に相当する標準状態char_traits::compare(&rhs[0], &lhs[0], min(rhs.size(), lhs.size())char_traits::compare不一致を過ぎた文字比較の値を破棄するように記述されていますが、実際に文字を読み取るかどうかについては、これ以上詳しく説明されていません。

于 2012-09-04T20:05:39.253 に答える