クラスで定義されたメンバー関数とクラスで定義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 に答える