我知道泛型在C#中履行类似于C++模板的角色,但我真的需要一种在编译时生成一些代码的方法 - 在这种特殊情况下,用C++模板解决问题会非常容易.
有谁知道任何替代品?也许一个VS插件预处理代码或类似的东西?它不需要非常复杂,我只需要在编译时生成一些方法.
这是C++中一个非常简化的例子(请注意,这个方法将在具有各种条件的紧密循环中调用,而不仅仅是"高级",并且这些条件每帧只会改变一次 - 使用if会太慢并且编写所有替代方法用手不可能维持).还要注意性能非常重要,这就是我需要在编译时生成它的原因.
template <bool Advanced>
int TraceRay( Ray r )
{
do
{
if ( WalkAndTestCollision( r ) )
{
if ( Advanced )
return AdvancedShade( collision );
else
return SimpleShade( collision );
}
}
while ( InsideScene( r ) );
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
992 次 |
最近记录: |