まず、関数呼び出し実行プロセス
1.fun(3.14)//実際のパラメーターは、関数内で暗黙的に整数3に変換されます
2.名前にはスコープがあり、オブジェクトにはライフサイクルがあります→関数本体はブロックです。このブロックに新しいスコープがあります→このスコープで定義されている仮パラメーターとその他の定義はローカル変数です。関数が実行されたときにのみ表示されます
3.ローカル静的オブジェクト
この文の実行から、プログラムが終了するまで消えません。たとえ、消える関数が問題にならない場合でも(強力です!)
4.関数宣言
名前付き、コンテンツなし、ヘッダーファイルで宣言、ソースファイルで定義
5.パラメータの受け渡し
関数が呼び出されるたびに、仮パラメーターが再作成され、渡された実際の引数で初期化されます。
パラメータタイプ→参照場合パラメータは、引数での、そうでない場合、引数は、割り当てられた値パラメータに
参照を使用するときは、できるだけ共通の参照を使用してください。参照を使用すると、正式なパラメーターと実際のパラメーターが結び付けられ、実際のパラメーターは簡単に変更できるため、良くありません。
第二に、インライン関数
3.デフォルトのパラメーターを持つ関数
呼び出しによって実際のパラメーターが指定された場合は、仮パラメーター値が使用されます。それ以外の場合は、デフォルトのパラメーター値が呼び出されます
宣言するとき:半分ではなく半分を割り当てることはできません
定義するとき:宣言でint a = 1を使用すると、定義時に直接使用され、定義されなくなります。右から左に定義する必要があります。左端を未定義にすることはできますが、直接楽しいことはできません();
使用時:途中に数個を残して値を割り当て続けることはできません。
4、関数のオーバーロード
1.オーバーロード:同じことが異なる動作モードに対応
2.実装メカニズム:名前は同じですが、以下のパラメーターの数とタイプは異なり、コンパイラーはそれに従って区別します(C ~~より高い)。
3.注意
5、関数テンプレート
単純化して単純化し、次に単純化する\( ̄︶ ̄ * \))
1.多重定義された関数を同時に定義する場合、多重定義された関数が最初に使用されます。完全に一致するものが見つからない場合は、関数テンプレートを使用します
6、システム関数