是否可以像这样创建条件定义:
{$if typeof(TNode) = record}
type PNode = ^TNode;
{$else}
type PNode = TNode;
{$end}
我为什么要这个?
对于特定问题,我在使用
class
和record
之间交替进行。由于速度原因,我想使用记录,但是为了方便起见,我也想使用
class
。因此,我要在两者之间切换。
显然,我可以添加一个
{$define}
语句,但是能够自动执行它会很好。 最佳答案
尽管我个人建议使用一般的DEFINE方法,但是在记录的大小不特定的情况下,您可能会成功:
{$if Sizeof(TNode) <> Sizeof(Pointer)}
type PNode = ^TNode;
{$else}
type PNode = TNode;
{$end}
好的,我知道那是肮脏的编程,但是您首先要求它。