c++文法のなぜ関数のリロードがあるのか、どのように使用するのか

914 ワード

関数リロードを使用する理由
まず私の立知の結果を添付します.1、ユーザーに対する複雑さを減らす.2、これにより関数名の数を減らし、名前空間の汚染を回避し、プログラムの可読性に大きなメリットがある.リロード関数は関数の特殊な状況であり、使いやすいように、C++は同じ範囲でいくつかの機能が似ている同名関数を宣言することを許可するが、これらの同名関数の形式パラメータ(パラメータの個数、タイプ、順序を指す)は異なる必要がある.つまり、同じ演算子で異なる演算機能を完成しなければならない.これがリロード関数です.リロード関数は、機能が類似して処理されるデータ型の異なる問題を実現するためによく使用されます.
役割1:ユーザーに対する複雑さを減らす
        ,      ,                   ,                 。      ,        。

作用二

sum(int a,int b)/戻りタイプを書かず、整数double sum(double a,double b)float sum(floata,float b,float c)を返す次の文に対して異なる呼び出しint x=sum(2,8)である.float y=sum(5.6,11.1); float z=sum(float(x),y,5); ちなみに、リロード関数の要件は、リロード関数を呼び出すと、コンパイラが実パラメータのタイプに応じて対応する関数を呼び出すことです.マッチングプロセスは、(1)パラメータが厳密に一致する(パラメータの個数、タイプが完全に一致する)関数がある場合、その関数を呼び出す.(2)パラメータは内部タイプ変換後に一致し、この関数を呼び出す.(3)パラメータは,ユーザ定義のタイプ変換によりマッチングを求める.リロード関数を定義するときは、パラメータの個数やタイプが異なることを保証する必要があります.戻り値のタイプが異なるだけではだめです.