gpt4 book ai didi

c - 函数指针相对于标志的优势

转载 作者:太空狗 更新时间:2023-10-29 15:41:01 24 4
gpt4 key购买 nike

<分区>

比方说,我有一个名为int compute ( int x1, int x2, int (* op) (int, int) ) 的函数,它以一个函数指针作为参数到一个做一些算术运算的函数

int add (int a1, int a2)
{
return (a1 + a2);
}
int mul (int s1, int s2)
{
return (s1 * s2);
}
int compute (int x1, int x2, int (* op) (int, int) )
{
return ( op (x1, x2) );
}
main()
{
int result;
int op1, op2;
op1 = 4;
op2 = 5;
result = compute (op1, op2, &add());
result = compute (op1, op2, &mul());
}

除了所有这些函数指针的东西,我还可以使用标志作为参数而不是函数指针来实现相同的目的。

int compute (int x1, int x2, int opFlag)
{
if ( opFlag == 1 )
return ( add (x1, x2); );
if ( opFlag == 2)
return ( mul (x1, x2); );
return 1;
}

main()
{
int result;
int op1, int op2;

op1 = 4;
op2 = 5;

result = compute (op1, op2, 1);
result = compute (op1, op2, 2);
}

现在的问题是,“函数指针”方法与“简单标志方法”在效率、代码方面的(缺点)优势是什么尺寸、便携性、可读性等, ?

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com