2010-12-12 23 views
5

試験のために勉強するだけで、私たちの注意でこの質問に対する答えを見つけることができません。どんな助けも素晴らしいだろう。関数をパラメータとして渡すことの利点

多くの言語では、サブルーチン/関数を パラメータとして渡すことができます。これによりもたらされる2つの利点を列挙し、それぞれ の利点を明確な説明例(これは 擬似コードである必要はありません)で動機付けます。

答えて

0

簡単な答えは、渡される関数がコールバック関数として使用される可能性があります。

関数が完了すると、引数でw/o引数を指定してコールバック関数を呼び出します。

2

主な利点は、呼び出される関数が別の関数を呼び出す場合、呼び出される関数の動作を変更することができます。

申し訳ありませんが、それ以上に、あなたは自分の宿題をする必要があります。

0

コレクションのすべてのメンバーに特定のアクションを適用します。 (すなわち、その中のすべての数字を四角で囲む)。

1

「アクション」関数をメソッドに渡すことの1つは、そのコレクションの内部を公開せずにコレクションに対してアクションを実行することです。

一般的には、渡された関数を各アイテムで呼び出すプライベートコレクションを繰り返し使用します。

もう1つはコールバックメソッドです。

+0

たとえば、Cの標準ライブラリ関数 'toupper()'を文字列全体に同時に適用するために、C++の 'std :: transform'を使用するなどです。 –

0

比較ソートに基づいてオブジェクトの配列をソートする関数を考えてみましょう。このような関数には2つのオブジェクトを比較し、どちらが大きいかを判断する方法が必要です。このような一般的なソート関数には、配列へのポインタと、2つのオブジェクトを比較するのに役立つ関数へのポインタを渡すことができます。

例としてSTLのソートを参照してください。あなたの朝を開始するには、次の2つの方法で、:

1

は、あなたが(プログラムコンピュータの生活の中で)魅力的な歌手のマネージャーだと思います。

状況1:あなたは次の操作を実行するために、いくつかの下っ端を伝える必要がありA)はスターのために朝食を取得し、彼女が好きなクロワッサンの種類に細心の注意を取る、彼女はなどを起動するとき、彼女は非常に怒っている覚えていますこのようやな電源を使用してステージ上のすべてのケーブルを入れて... B)このライトではなく、1つ、これらの色...

状況2:あなたのしたっぱを確認する:私たちのスター彼女を与えるためにmajordomoのを依頼通常の朝食。そして、乗組員に通常の歌のステージを世話するように依頼してください。

状況の一つは、ビューのコンピュータポイントから間違っている、それはやっての迅速かつ汚い方法の典型的なものです。はい、あなたは手で男を持っているが、彼はすべての用事をしていると、彼は混乱することができる、しかも注文が長くかつ詳細であるように、異なる種類のいくつかの責任を処理しています。

あなたが委任している2つの状況では、これは複雑さを処理し、順序は短く、私たちは誰がどの仕事をしているのか知っているので、星のティーカップでピンクの巨大な電球を見つけませんそれは冗談ですが、まさにバグです)。 いくつかの言葉では、複雑さは意味のある方法で分割されています。

ここで、2つの状況を呼び出すような状況が表示されない場合は、疑似コードがあります。

externファンクションmajordomo(クライアント、サービス、オプション);
extern FUNCTION crew(タスク、オプション);

機能startMorning()

コール(したっぱ、Majordomoの(for_ourstar、usual_breakfast、she_is_picky))をBEGIN。
コール(下線、クルー(通常のケーブル、明るいライト));
END

関連する問題