我只是想知道为什么tellg()在basic_istream<>类中tellp()定义并在basic_ostream<>类中定义的成员函数具有不同的名称.这是因为basic_fstream<>是源于basic_istream<>和basic_ostream<>吗?
你会如何在双向流中区分它们,比如std::fstream或std::stringstream?允许Streams为输入和输出维护单独的指针:fstream
不是,但stringstream确实如此.因此,您需要一个标志来指示您想要哪一个(如果是这样streambuf),或者您需要两个单独的功能.
tellg()获取get指针tellp()的位置并获取指针的位置put,其中一个是您阅读的位置,第二个是您在文件中写入的位置.所以这两个函数做了不同的事情并返回不同的值.为什么你认为他们应该有相同的名字?