c++程序中要对某个函数的调用次数进行统计,可行的方法有哪些

有选项的(1)在该函数中创建普通变量(2)在该函数中创建静态变量(3)在该函数中创建const常量(4)创建全局变量(5)创建全局的const常量(6)创建这个类的普通成... 有选项的
(1)在该函数中创建普通变量
(2)在该函数中创建静态变量
(3)在该函数中创建const常量
(4)创建全局变量
(5)创建全局的const常量
(6)创建这个类的普通成员变量
(7)创建这个类的静态成员变量

如果要统计某个类,创建对象的次数,在以上所有方法中,最佳的是——?
展开
 我来答
百度网友6fe74e2
2013-01-08 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:269万
展开全部
全局变量来计数
int i=0;
void func()
{
.....
i++;
......
}
最后输出i的值就知道func调了多少次了。
其它的暂时没想到。

第7个
holymaple3
2013-01-08
知道答主
回答量:25
采纳率:0%
帮助的人:8.3万
展开全部
那位热心网友说的对

如果是普通的程序话可以用一个全局变量,初始化为0,在函数体里面 ++,既每调用一次就自己+ 1来计算调用次数

如果是计算类成员函数的话,用static成员就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
634841302
2013-01-08 · TA获得超过173个赞
知道答主
回答量:110
采纳率:100%
帮助的人:68万
展开全部
首先排除法,const都是不行的,因为是常量,不能改变其值,不能用来统计。所以(3)在该函数中创建const常量和(5)创建全局的const常量排除。
然后再说普通成员变量:当调用时就存在,退出函数时就消失,果断不行,无论是在类中还是在函数中,都不适合。(1)在该函数中创建普通变量和(6)创建这个类的普通成员变量,没了。
现在只剩下静态变量和全局变量了。
看一下静态变量的特点:
(1)静态局部变量在函数内定义,但不象自动变量那样,当调用时就存在,退出函数时就消失。静态局部变量始终存在着,也就是说它的生存期为整个源程序。
(2)静态局部变量的生存期虽然为整个源程序,但是其作用域仍与自动变量相同,即只能在定义该变量的函数内使用该变量。退出该函数后, 尽管该变量还继续存在,但不能使用它。
根据静态局部变量的特点, 可以看出它是一种生存期为整个源文件的量。虽然离开定义它的函数后不能使用,但如再次调用定义它的函数时,它又可继续使用, 而且保存了前次被调用后留下的值。 因此,当多次调用一个函数且要求在调用之间保留某些变量的值时,可考虑采用静态局部变量。虽然用全局变量也可以达到上述目的,但全局变量有时会造成意外的副作用,因此仍以采用局部静态变量为宜。
对于是选择(2)在该函数中创建静态变量还是(7)创建这个类的静态成员变量,最优选择(7)。
个人见解,有错请批评指正,谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-01-08
展开全部
写个静态变量赋给初值0。然后写个++不就行了?
Type fun()
{
static int num=0; //这句仅会执行一次

num++; //每次调用都会执行

...

}

——————
如果函数外面要用到次数就用全局变量嘛~~
int num=0;
Type fun()
{
num++;
...
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式