- 509 名前:499 mailto:sage [2010/08/29(日) 18:27:00 ]
- >>508
>ポインタのポインタをつかわなければ、 >struct node *root; >root = add_node(root, data); >という形になり、これでは再帰が深くなると無駄な代入が繰り返されてしまいます。 それはロジックが悪い。 そんなに代入を繰り返さなくても出来る。考えてみ。 >参照を使うと、(略)* や & を省くことができます。 参照でコードが短くなるのは当然だが、同時に、「値が変化している」という情報も失われる。 以下のような例がありえる。 struct HOGE* hoge; func1(hoge); func2(hoge); //ここで内容をいじっている! func3(hoge); これは以下のようにしたほうが「中で何かしている」感じがわかりやすくなる。 func1(hoge); func2(&hoge); func3(hoge); 値を変える参照は、短くなるからと無闇に使うと危険ですよ。
|

|