我有这样的代码
typedef void(_stdcall * MyProcessor)(int, int);
void FunctionProcess (MyProcessor process){
MyProcessor myCallback;
myCallback = (process != NULL)? process:"<functionThatDoesNothing>";
...
}
Run Code Online (Sandbox Code Playgroud)
如果参数中没有任何回调函数,我想给myCallback分配一些函数,它不会做任何事情(或者什么东西),因为之后,我在循环中调用这个函数(我会喜欢避免因为管道冲洗而在循环中使用'if'.我尝试了一个没有成功的无操作lambda(不兼容).
有这样的功能吗?还有其他可能性吗?谢谢.
你的逻辑是疯了!如果if正确预测它将几乎是免费的.如果间接跳跃被错误预测,那将是可怕的.一个if更容易比间接跳转预测(只有两种可能,推测执行是可能的,也有在大多数CPU的多个预测时隙).因此,几乎没有可能的情况,这是有道理的.
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |