2

大概是为了兼容性,现在这些名字都被卡住了,但为什么最初没有给它们类似的名字呢?gptr()/pptr()egptr()/epptr()是一致的,但eback()特别令人困惑,是不是gbase()已经在别处使用了?

4

1 回答 1

1

我能找到的最接近可能答案的是《标准 C++ IOStreams and Locales: Advanced Programmer's Guide and Reference》一书。在这本书中,Angelika Langer 与标准 iostream 库的实际创建者进行了交谈,并汇编了有关他们在实现、命名和一连串其他有用且重要的事情方面的设计决策背后的基本原理的信息。

本书的前言确实提到了指向 streambuf 对象的 get 和 put 区域的六个指针。也许他更详细地介绍了这些名字。无论哪种方式,它仍然是一本好书。

于 2013-07-19T10:26:30.707 回答