クラスで定義されたメンバー関数とクラスで定義tellg()されたメンバー関数の名前が異なるのはなぜだろうと思っていました。と から派生しているからですか?basic_istream<>tellp()basic_ostream<>basic_fstream<>basic_istream<>basic_ostream<>
6046 次
2 に答える
8
tellg()ポインターの位置を取得し、getポインターの位置をtellp()取得しputます。そのうちの1つはファイルの読み取り場所であり、2番目の場所はファイルへの書き込み場所です。したがって、2 つの関数は異なることを行い、異なる値を返します。なぜ同じ名前にする必要があると思いますか?
于 2013-01-25T12:51:36.113 に答える
7
また、 や などの双方向ストリームでそれらをどのように区別しますstd::fstreamかstd::stringstream? ストリームは、入力と出力に対して別々のポインターを維持することができます。fstream
そうではありませんが、stringstreamそうです。したがって、どちらが必要かを示すフラグが必要になるか ( の場合のようにstreambuf)、2 つの別個の関数が必要になります。
于 2013-01-25T13:48:30.687 に答える