環状バッファ
一時的にデータを溜めておく場所だよ
輪っか構造になっているよ
最後の次に移動すると最初に戻るよ
最初の前に移動すると最後に移るよ
簡単に書くよ
環状バッファ(読:カンジョウバッファ 英:ring buffer)とは
「リングバッファ」のこと。
用語の中身としては
一時的にデータを溜めておく記憶場所(バッファ)の種類のひとつ
であり
輪っか構造になっていて、最後の要素と最初の要素がつながっているバッファのこと
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として「バッファ」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
バッファは「一時的にデータを溜めておく記憶場所」です。
ゆとりを生み出すために使われます。
よく分からない人は、肉まんを乗せるお皿だと考えてください。
肉まんを乗せるお皿がないと大変です。
作った肉まんは片っ端から平らげる必要があります。
肉まんを置いておく場所がありませんからね。
一息つく余裕がありません。
お皿があったら、どうでしょう?
作る方は、できあがった肉まんを お皿に乗せていきます。
食べる方は、お皿に乗っている肉まんを食べます。
こうすれば、作る方も食べる方も、ある程度は自分のペースで大丈夫です。
多少タイミングがズレても、お皿の上の肉まんの数が増減するだけです。
一息つけます。
この話における、肉まんを乗せるお皿がバッファです。
間に入って緩衝剤の役割をすることで、ゆとりを生み出してくれるやつです。
コンピュータの世界におけるバッファは、データの一時保管場所として使われます。
それを踏まえて
輪っか構造になっているバッファ
が「環状バッファ」です。
「リングバッファ」や「循環バッファ」などと呼ばれる場合も あります。
環状バッファは循環する構造になっていて、最後を突き抜けると最初に戻ります。
逆に、最初よりも前に移動すると最後に移ります。
小難しい説明は他のところに任せるとして、また肉まんを乗せるお皿で考えてみましょう。
環状バッファは、中華料理で使われる回転する円卓にお皿が乗っているイメージです。
……顔じゃないですよ。
円卓とお皿です。
例えば、円卓にお皿が3枚乗っかっているとします。
もう一度書いておきますが、顔じゃないですよ。
円卓とお皿です。
この状態で、ピヨ太君は肉まんを作りました。
作った肉まんをお皿に乗せます。
1枚目のお皿に乗せました。
ピヨ太君は、さらに肉まんを作りました。
作った肉まんをお皿に乗せます。
円卓を回転させて、2枚目のお皿に乗せました。
ピヨ太君は、さらに肉まんを作りました。
作った肉まんをお皿に乗せます。
円卓を回転させて、3枚目のお皿に乗せました。
ピヨ太君は、さらに肉まんを作りました。
作った肉まんをお皿に乗せます。
円卓を回転させて、4枚目のお皿……は、ありませんね。
3枚目のお皿が目の前にある状態で円卓を回転させると、次に目の前に来るのは1枚目のお皿です。
最初のお皿に戻ります。
4個目の肉まんを乗せたければ、1個目の肉まんをどける必要があります。
試しに逆に回してみましょうか。
1枚目のお皿が目の前にある状態で今までと逆方向に回すと、目の前に来るのは3枚目のお皿です。
最後のお皿に移ります。
最初と最後が、つながっていますね。
このような輪っか構造になっているバッファが環状バッファです。
一言でまとめるよ
まぁ「環状バッファ」って単語が出てきたら「輪っか構造になっているバッファ
(一時的にデータを溜めておく記憶場所)なんだな~」と お考えください。
おまけ
■訳してみるよ
「環状」は日本語ですね。
「buffer(バッファ)」の意味は「緩衝器」とか「緩衝物」とか「緩衝装置」とか「緩衝材」とかです。
何となく くっつけると
環状の緩衝物
となります。
■検索してみる?






