什么是“别名流缓冲区”?我在对我的答案的评论中遇到了这个词。
问问题
214 次
3 回答
3
我以前从未听说过这个词,但在你引用的线程中,使用它的人也举了一个例子:两个流使用相同的 streambuf。
当然,仅仅因为两个流不使用相同的streambuf,并不意味着写入它们的数据最终不会在同一个地方结束;他们不会给同一个接收器起别名,如果这就是意思的话。有过滤streambuf,将实际的接收和源转发到另一个streambuf,在大多数系统上,可以在系统级别打开一个文件,并将一个或两个streambuf连接到它。
——詹姆斯·坎泽
于 2011-03-14T09:05:58.107 回答
1
这意味着具有不同名称的对象,例如:
ostream &lbw = cout;
lbw << "Shahid out" << "Sachin in" << endl; //goes to cout!
于 2011-03-14T09:01:10.783 回答
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 回答