3

「エイリアス ストリーム バッファ」とは何ですか? 私の回答に対するコメントでこの用語に遭遇しました。

4

3 に答える 3

3

私はこれまでこの用語を聞いたことがありませんが、あなたが引用したスレッドでは、それを使用した人も例を挙げました。同じstreambufを使用する2つのストリームです。

もちろん、2つのストリームが同じstreambufを使用しないからといって、それらに書き込まれたデータが最終的に同じ場所に配置されないという意味ではありません。それが意味するのであれば、彼らは同じシンクをエイリアスしないこと。実際のシンクとソーシングを別のstreambufに転送するフィルタリングstreambufがあり、ほとんどのシステムでは、システムレベルでファイルを開き、それにstreambuf(または2つ)を接続することができます。

-ジェームズ・カンゼ

于 2011-03-14T09:05:58.107 に答える
1

コメントでおそらく意味されたのはこれです:

ofstream file;
file.rdbuf(cout.rdbuf());

// writes to cout
file << "hello";

したがって、ここでのチェックは機能しません。

if(&file == &cout)
    // no, it doesn't
于 2011-03-14T09:06:42.023 に答える
1

これは、異なる名前のオブジェクトを意味します。たとえば、次のようになります。

ostream &lbw = cout;

lbw << "Shahid out" << "Sachin in" << endl; //goes to cout!
于 2011-03-14T09:01:10.783 に答える