streambuf は文字シーケンス (文字ストリーム) と、シーケンス内を指す 1 つまたは 2 つのポインタとで構成されています。各ポインタは文字と文字の間を指しています。(ポインタは実際には文字と文字の間を指しているわけではありませんが、このように考えると理解しやすくなります。)streambuf ポインタには次の種類があります。
streambuf は、このどちらかのポインタ、または両方のポインタを持ちます。
ポインタ位置の操作とシーケンスの内容の操作にはさまざまな方法があります。操作時に両方のポインタが移動するかどうかは、使用される streambuf の種類によって違います。一般的に、キュー形式の streambuf ストリームの場合、get ポインタと put ポインタは別々に移動します。ファイル形式の streambuf ストリームの場合、get ポインタと put ポインタは同時に移動します。キュー形式ストリームの例としては strstream があり、ファイル形式ストリームの例としては fstream があります。