【发布时间】:2011-03-14 08:53:55
【问题描述】:
什么是“别名流缓冲区”?我在对我的 answer 的评论中遇到了这个词。
【问题讨论】:
什么是“别名流缓冲区”?我在对我的 answer 的评论中遇到了这个词。
【问题讨论】:
我以前从未听说过这个词,但在你引用的线程中, 使用它的人也举了一个例子:两个流 使用相同的流缓冲区。
当然,只是因为两个流不使用相同的 streambuf,并不意味着写入它们的数据不会 最终在同一个地方结束;他们没有别名 同一个水槽,如果这就是意思的话。有过滤 streambuf,将实际的下沉和采购转发到 另一个streambuf,在大多数系统上,可以打开 系统级别的文件,并将一个(或两个)streambuf 连接到 它。
-- 詹姆斯·坎泽
【讨论】:
表示不同名称的对象,例如:
ostream &lbw = cout;
lbw << "Shahid out" << "Sachin in" << endl; //goes to cout!
【讨论】:
评论中的意思可能是这样的:
ofstream file;
file.rdbuf(cout.rdbuf());
// writes to cout
file << "hello";
所以现在那里的检查不起作用:
if(&file == &cout)
// no, it doesn't
【讨论】: