C++ 什么是';别名为';流缓冲区?

C++ 什么是';别名为';流缓冲区?,c++,alias,streambuf,C++,Alias,Streambuf,什么是“别名流缓冲区”?我在我的一篇评论中遇到了这个术语。它指的是具有不同名称的对象,例如: ostream &lbw = cout; lbw << "Shahid out" << "Sachin in" << endl; //goes to cout! ostream&lbw=cout; lbw我以前从未听说过这个词,但在你引用的帖子中, 使用它的人还举了一个例子:两条流 使用相同的streambuf 当然,只是因为两条流使用的不是同一条流 st

什么是“别名流缓冲区”?我在我的一篇评论中遇到了这个术语。

它指的是具有不同名称的对象,例如:

ostream &lbw = cout;

lbw << "Shahid out" << "Sachin in" << endl; //goes to cout!
ostream&lbw=cout;

lbw我以前从未听说过这个词,但在你引用的帖子中, 使用它的人还举了一个例子:两条流 使用相同的streambuf

当然,只是因为两条流使用的不是同一条流 streambuf,并不意味着写入它们的数据不存在 最终在同一个地方结束;他们没有给 同样的水槽,如果这就是它的意思的话。有过滤 streambuf’s,将实际下沉和寻源转发给 另一个streambuf,在大多数系统上,都可以打开 系统级的文件,并将一个或两个streambuf连接到 它

--
詹姆斯·坎泽(James Kanze)

评论中的意思可能是:

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

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

就这样?这只是一个引用的不同名称?这使得stdout反aliased@Naveen我错过什么了吗?如果我错了,请纠正我。:-)@纳瓦兹:我不知道答案,我期待着比这更复杂一点:)看到这个我很惊讶。@Naveen:噢。。。在C++中,你可以拥有一个非常长的命名空间,但是当涉及到对象时,它是一个引用,有时称为别名!1用于解释我的术语:)我使用术语别名,因为它类似于指针别名的概念
if(&file == &cout)
    // no, it doesn't