为什么std::basic_streambuf中的eback()和pbase()命名不同

Why are eback() and pbase() in std::basic_streambuf named differently?

本文关键字:pbase eback basic std streambuf 中的 为什么      更新时间:2023-10-16

为了兼容性,这些名称现在可能被卡住了,但为什么最初没有给它们类似的名称?gptr()/pptr()egptr()/epptr()是一致的,但eback()特别令人困惑,gbase()已经在其他地方使用了吗?

我能找到的最接近可能答案的东西是《标准C++IOStreams和Locales:高级程序员指南和参考》一书。在这本书中,Angelika Langer与标准iostream库的实际创建者进行了交谈,并汇编了有关他们的设计决策背后的基本原理的信息,包括实现、命名以及一系列其他有用和重要的东西。

这本书的序言提到了streambuf对象的get和put区域的六个指针。也许他会更详细地介绍这些名字。不管怎样,它仍然是一本好书。