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