有一个STL<ios>库函数
streambuf* std::basic_ios::rdbuf (streambuf* sb);
此函数可用于更改与流关联的流缓冲区。如果您使用它,它将返回一个指向先前使用的streambuf的指针。目前尚不清楚谁“拥有”该指针或它的生命周期是多少。标准(27.5.5.3/5)简单地说
返回: 的前一个值
rdbuf()。
这信息不是很丰富。是否可以保证该指针的有效期为多长时间?调用代码delete完成后是否应该使用指针?
该缓冲区归最初将缓冲区安装到流对象中的人所有。流对象带有一个内部缓冲区,默认构造的流对象默认使用它。
因此,除非您的代码使用该方法显式安装了非默认缓冲区,否则rdbuf()答案是只要流对象存在,缓冲区就有效。
如果你没有安装缓冲区,你显然不应该安装delete它。
| 归档时间: |
|
| 查看次数: |
606 次 |
| 最近记录: |