C++でのセンチネルwhileループとは誰か教えてもらえますか?歩哨のwhileループを使用した例を教えてください。
このコンテキストでの「センチネル」は、シーケンスの終了を示すために使用される特別な値です。最も一般的な番兵は、文字列の最後の\ 0です。 「センチネルwhileループ」は通常、次の形式になります。
while (Get(input) != Sentinel) {
Process(input);
}
番兵は特別な値です。ブール値、非常に大きいまたは小さい。ループをいつ停止するかを決定するために使用されます。
良い例は、マージソートの実装です。 http://www.cs.princeton.edu/courses/archive/spr07/cos226/lectures/04MergeQuick.pdf の4ページをお読みください。
JRLの回答の補足として..
この質問をしても問題はありませんでしたが、将来的には、dictionary.comにアクセスして、わからない単語を検索することで、より迅速なヘルプが見つかる可能性があることに注意してください。
編集:この場合、辞書はあなたが考えることを何も残しません。これが定義3です:)
3 Also called tag. Computers. a symbol, mark, or other labeling device indicating the beginning or end of a unit of information.
これは通常、条件が満たされない場合はfalseに設定され、満たされた場合はtrueに設定されるブール(trueまたはfalse)変数です。次に、番兵が偽である限りループできます。
例:
bool acceptedAnswer = false;
while (acceptedAnswer == false)
{
refreshPage();
if (hasBeenAccepted())
{
acceptedAnswer = true;
}
}
センチナルは、アイテムのリスト内の特別な値であり、常にイテレータを停止させます。
たとえば、ASCIIZ文字列のゼロターミネータはセンチナルとして機能します。
リンクリストには、多くの場合、NULLポインタなどがあります。