询问以下问题的用户非常快地接受了"读取缓冲区": rdstate和rdbuf中的rd代表什么?
我仍然想知道"读取缓冲区"在"std :: ostream"(cout)的上下文中意味着什么.我没有找到任何描述此功能的STL文档作为任何"阅读".这只是一个错误的功能吗?(......显然,但也许我错过了什么)
Jon*_*ely 10
我仍然想知道"读取缓冲区"在"std :: ostream"(cout)的上下文中意味着什么.
它是"读取",如"读取值"或"获取值"未读取为"从流中读取".
它似乎是旧Cfront代码中的常见约定,例如,请参阅Cfront 2.0文档中描述的任务库,该文档具有几个类似的函数,例如第2-5页:
int rdcount();
int rdmode();
int rdmax();
void setmode(int);
void setmax(int);
Run Code Online (Sandbox Code Playgroud)
所以"rd"和"set"似乎分别用于getter和setter的名字.
这意味着rdbuf(basic_streambuf<C,T>*)
替换streambuf 的重载被错误命名,它应该是setbuf
,但是这个名称已经被streambuf本身使用,具有不同的含义.这rdbuf
以后加入的"setter"过载,原设计只有"吸气剂",如图中STRSTREAM(3C++)在链接到上面的PDF的端手册页:
class strstream : public strstreambase, public iostream {
public:
strstream();
strstream(char*, int, int mode);
strstreambuf* rdbuf() ;
char* str();
};
Run Code Online (Sandbox Code Playgroud)
小智 6
原始设备/数据缓冲区 (rdbuf) <---- 我更喜欢 @Daniel Jour 的评论。
例如:显式 basic_istream( std::basic_streambuf* sb); 参考:
basic_streambuf 类是原始设备的抽象。这意味着它可以是套接字、文件、命名管道、邮槽、内存、graphiccard-mem。那么从高层来看,如何命名不同的设备呢?
我认为RD(原始设备)和原始数据都可以,但是原始设备更准确,甚至99.999%的时间都指向内存。
归档时间: |
|
查看次数: |
303 次 |
最近记录: |