C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++関数パラメーターでの評価の順序


いくつかの関数に異なる引数を渡します。ここで、関数パラメーターの評価の順序について1つの質問が頭に浮かぶかもしれません。左から右ですか、それとも右から左ですか?

評価順序を確認するには、簡単なプログラムを使用します。ここでは、いくつかのパラメータが渡されています。出力から、それらがどのように評価されるかを見つけることができます。

#include<iostream>
using namespace std;
void test_function(int x, int y, int z) {
   cout << "The value of x: " << x << endl;
   cout << "The value of y: " << y << endl;
   cout << "The value of z: " << z << endl;
}
main() {
   int a = 10;
   test_function(a++, a++, a++);
}

出力

The value of x: 12
The value of y: 11
The value of z: 10

この出力から、評価シーケンスを簡単に理解できます。最初にzが取られるので、10を保持し、次にyが取られるので、11になり、最後にxが取られます。したがって、値は12です。


  1. C ++のlog1p()

    関数log1p()は、(a + 1)の自然対数(基数e対数)を計算するために使用されます。ここで、aは任意の数値です。 (a + 1)の自然対数の値を返します。 -1未満の値を渡すと、Not a number(Nan)が返されます。 log1p()の数式は次のとおりです。 log1p(a) = base-e log(a+1) C ++言語でのlog1p()の構文は次のとおりです。 float log1p(float variable_name); ここで variable_name −対数値が計算される変数に付けられた名前。 これは、C ++言語でのlog1p()の例です

  2. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb