重複の可能性:
関数パラメーターの評価順序
私が4つの引数を持つ関数を持っていると仮定します。どのパラメーターが最初に実行されると見なされるか、およびその理由。
,
関数プロトタイプに使用される演算子の重要性を理解しようとしていました。ルールとして、それは最初に考慮される最後の変数ですか?
重複の可能性:
関数パラメーターの評価順序
私が4つの引数を持つ関数を持っていると仮定します。どのパラメーターが最初に実行されると見なされるか、およびその理由。
,
関数プロトタイプに使用される演算子の重要性を理解しようとしていました。ルールとして、それは最初に考慮される最後の変数ですか?
次のプロトタイプを持つ関数がある場合:
int function(int x, int y, int z);
そして、私たちはそれをそのように呼びます:
function( something_a(), something_b(), something_c() );
something_a
、、something_b
およびの実行順序を推測することはできませんsomething_c
。
一方、コンマ演算子は次のように使用できます。
int main() {
int x;
something_a(), something_b();
something_c();
}
この場合、それが、次に、そして最後にsomething_a
と呼ばれることがわかります。something_b
something_c
要約すると、関数呼び出しで見つかったコンマは、コンマ演算子ではありません。
引数を区切る手段としてコンマが使用されます。カンマは演算子ではありません。
関数の引数の順序は、コンパイラとランタイムスタックの動作方法によって異なります。標準では、引数が評価される順序を決定するのはコンパイラーに任されているため、保持されている特定の順序に依存しないでください。