C++の関数ポインタに値を代入する方法は何ですか?
C ++ では、関数ポインタの割り当ては、以下のいくつかの方法を使って行うことができます。
- 関数ポインタ変数に関数のアドレスを直接代入する。例えば:
int add(int a, int b)
{
return a + b;
}
int main()
{
int (*func)(int, int); // 声明一个函数指针变量
func = add; // 直接将函数add的地址赋值给func
return 0;
}
- 彼はとても気配を消して漂っている。
- この本はとても面白かった。
int add(int a, int b)
{
return a + b;
}
int main()
{
int (*func)(int, int); // 声明一个函数指针变量
func = &add; // 将函数add的地址通过取址操作符赋值给func
return 0;
}
- typedefキーワードを使用する:typedefキーワードを使用して、関数ポインタ型の別名を定義し、その別名を使用して値を割り当てる。例えば、
typedef int (*FuncPtr)(int, int); // 为函数指针类型定义别名FuncPtr
int add(int a, int b)
{
return a + b;
}
int main()
{
FuncPtr func; // 使用别名声明一个函数指针变量
func = add; // 直接将函数add的地址赋值给func
return 0;
}
これらは一般的な関数ポインタの代入方法のいくつかですが、あなたの状況に適したものを選んでください。