什么是Delphi中C ++`const`返回类型的等价物

时间:2013-09-12 14:42:12

标签: c++ delphi

我有以下C ++代码:

标题:(在课堂内)

virtual const bigint &getPopulation() ;

实现:

static bigint negone = -1 ;
const bigint &hlifealgo::getPopulation() {
   // note:  if called during gc, then we cannot call calcPopulation
   // since that will mess up the gc.
   if (!popValid) {
      if (inGC) {
        needPop = 1 ;
        return negone ;
      } else {
        calcPopulation(root) ;
        popValid = 1 ;
        needPop = 0 ;
      }
   }
   return population ;
}

我将它移植到Delphi,它工作得很好。 我仍然对const返回类型感到有点困惑。

我可以忽略翻译中的const,还是有什么需要注意的?

这个概念在Delphi中是否有模拟?

1 个答案:

答案 0 :(得分:4)

在Delphi中没有类似的东西。你在这里有一个const参考。在Delphi中,没有机制来区分可变引用和常量引用。所有引用都可用于改变对象。所以这不是特别是与const返回类型相关的问题,更多的是Delphi不支持常量引用。

在将代码从C ++移植到Delphi时,您别无选择,只能忽略const引用。你无法区分Delphi中不同类型的引用,只有一个。