K.Maebashi's BBS 投稿フォーム
ハンドル名
件名
Link
>>「ポインタ完全制覇」のp218のList 4-6のプログラムで質問させてください。 >> >>76--79行目でmallocを使っているのは何故なのでしょうか。 >> >>代わりに、 >> >>return st_line_buffer; >> >>では駄目なのでしょうか。違いがわからないのですが。 > >これは、オブジェクト指向の防御的コピーに近いですが、 >read_line()が、st_line_bufferを素直に返している訳ではないので >ちょっと違うかもしれません。 >read_line.cファイルが1つのオブジェクト、st_line_bufferがprivateな >メンバと考えると、実装詳細を直接戻すと、カプセル化が崩れるという >考え方も可能だと思います。 > >違いは以下です。 > >// もし、read_line()で、st_line_bufferを返す場合 >char s1, s2; > >s1 = read_line(fp); // 例えば、s1が、"abc" >s2 = read_line(fp); // 例えば、s2が、"def" >// ここで、s1もs2も、"def"となる! >// もし、read_line()で、コピーを返せば、 >// s1は"abc"、s2は"def"となる。 >
spamよけのため、ここに「ほげぴよ」と入力してください。
削除パスワード :
クリック!