C++ 检查整数是否增加了C++;
因此,不太难,我只想了解以下是否是检查此问题的最有效/最快速的方法C++ 检查整数是否增加了C++;,c++,C++,因此,不太难,我只想了解以下是否是检查此问题的最有效/最快速的方法 if (misses++) run_code(); (基本上,如果未命中增加,运行一些代码,用于记录未命中角度等) 另外,每次未命中率增加时,该代码会运行吗?谢谢:) 编辑 这不会检查它是否增加,有人有什么想法吗?像这样尝试: int b=misses misses++; if(misses>b) { run_code(); b=misses; } 要确定某个值是否增加,必须记录原始值,以便比较:
if (misses++)
run_code();
(基本上,如果未命中增加,运行一些代码,用于记录未命中角度等)
另外,每次未命中率增加时,该代码会运行吗?谢谢:)
编辑
这不会检查它是否增加,有人有什么想法吗?像这样尝试:
int b=misses
misses++;
if(misses>b)
{
run_code();
b=misses;
}
要确定某个值是否增加,必须记录原始值,以便比较:
void f(int& arg); // might change arg
int main() {
int misses = 0;
int old_misses;
for (int i = 0; i < 10; ++i) {
old_misses = misses;
f(misses);
if (misses != old_misses)
run_code();
}
return 0;
}
void f(int&arg);//可能会改变arg
int main(){
int未命中=0;
int old_misses;
对于(int i=0;i<10;++i){
旧的未命中=未命中;
f(未命中);
如果(未命中!=旧的未命中)
运行_代码();
}
返回0;
}
这并不意味着“如果未命中
增加”。它的意思是“如果未命中
不是0
,然后递增未命中
”。每次执行未命中
时,在递增它之前,它将不等于零。它没有效率,因为它不符合您希望它做的事情。至于速度,如果它不起作用,那就无关紧要了。你需要跟踪它的最后一个值,然后检查该值从那时起是否增加了。或者,如果您想在值增加时调用它,而不是不断增加未命中数,只需调用run\u code
,而if(misses)
意味着misses
没有增加?你正在编的有趣的语言;)。建议阅读:如果这不起任何作用,编译器只会删除它。