Con*_*tin 5 c c++ performance function
有没有办法,我可以有效地在两个相似的功能集(C/C++)之间切换?为了更好地解释我的意思,让我说我有两组全局函数,如:
void a_someCoolFunction();
void a_anotherCoolFunction(int withParameters);
…
void b_someCoolFunction();
void b_anotherCoolFunction(int withParameters);
…
Run Code Online (Sandbox Code Playgroud)
我希望能够在运行时"切换"我的程序中使用哪一个.但是:我不想在每个功能上都有一个条件,例如:
void inline someCoolFunction(){
if(someState = A_STATE){
a_someCoolFunction();
}else{
b_someCoolFunction();
}
}
Run Code Online (Sandbox Code Playgroud)
因为,我希望在我的主循环中调用每个函数 - 所以如果我可以做这样的事情(在我的mainloop的开头或someState被更改时)会更好:
if(someState = A_STATE){
useFunctionsOfType = a;
}else{
useFunctionsOfType = b;
}
Run Code Online (Sandbox Code Playgroud)
然后简单地打电话
useFunctionsOfType _someCoolFunction();
Run Code Online (Sandbox Code Playgroud)
我希望它可以理解我的意思......我的背景:我写一个应用程序,这应该能够处理的OpenGL ES 1.1和OpenGL ES 2.0都正常-但我不想写的每一个渲染方法2倍(如:renderOpenGL1()
和renderOpenGL2()
我宁愿只写render()
).我已经有类似的方法:glLoadIdentity(); myLoadIdentity();
......但需要一种方法在这两种方式之间切换.有没有办法以高效的方式实现这一目标?