C には、値による受け渡し、ポインターによる受け渡し、参照による受け渡し、RVO による受け渡しという 4 つの関数呼び出し規則があります。値渡しではパラメータのコピーが渡され、ポインタ渡しではパラメータのアドレスが渡され、参照渡しではパラメータの参照が渡され、RVO による渡しでは、特定の条件下でオブジェクトの内容が直接移動されます。
#C 関数呼び出し規約
関数呼び出し規約は、関数呼び出し中にパラメーターがどのように渡されるか、および呼び出しがいつ返されるかを指定します。結果を返す方法。 C には 4 つの主要な関数呼び出し規則があります:1. 値渡し
2. ポインタ渡し
3. 参照渡し
4. RVO を通過する (戻り値の最適化、戻り値の最適化)
実際的なケース
// 通过值传递整数 void func_by_val(int val) { val++; // 不会影响原始值 } // 通过指针传递整数 void func_by_ptr(int *val) { (*val)++; // 会影响原始值 } // 通过引用传递整数 void func_by_ref(int &val) { val++; // 会影响原始值 } int main() { int a = 5; func_by_val(a); std::cout << a << std::endl; // 输出 5 func_by_ptr(&a); std::cout << a << std::endl; // 输出 6 func_by_ref(a); std::cout << a << std::endl; // 输出 7 }
以上がC++ 関数の呼び出し規則は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。