C++のファンクター
ファンクターは、C++の関数オブジェクトです。ファンクターを使用すると、あるクラスのインスタンスオブジェクトを、通常の関数であるかのように呼び出すことができます。 1つの引数を取る関数を考えてみましょう。この関数を関数オブジェクトとして使用して、一連のデータに対して何らかのタスクを実行できます。
サンプルコード
#include <iostream> #include <algorithm> using namespace std; int square(int x) { return x*x; //return square of x } int main() { int data[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; transform(data, data+10, data, square); for (int i = 0; i<10; i++) cout << data[i] << endl; }
出力
0 1 4 9 16 25 36 49 64 81
-
2D配列をC++関数に渡す
配列は引数として関数に渡すことができます。このプログラムでは、2次元配列の要素を関数に渡して表示するように実行します。 アルゴリズム Begin The 2D array n[][] passed to the function show(). Call function show() function, the array n (n) is traversed using a nested for loop. End サンプルコード #include <iostream> using namespace std; void show(int n[4][3]); int
-
配列をC++関数に渡す
C ++では、配列全体を引数として関数に渡すことはできません。ただし、インデックスなしで配列の名前を指定することにより、配列へのポインタを渡すことができます。 1次元配列を関数の引数として渡したい場合は、次の3つの方法のいずれかで関数の仮パラメーターを宣言する必要があります。3つの宣言メソッドはすべて、整数ポインターが実行されることをコンパイラーに通知するため、同様の結果を生成します。受け取る必要があります。 配列を関数に渡す方法は3つあります- ポインタとしての正式なパラメータ void myFunction(int *param) { // Do so