我有以下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中是否有模拟?
答案 0 :(得分:4)
在Delphi中没有类似的东西。你在这里有一个const
参考。在Delphi中,没有机制来区分可变引用和常量引用。所有引用都可用于改变对象。所以这不是特别是与const
返回类型相关的问题,更多的是Delphi不支持常量引用。
在将代码从C ++移植到Delphi时,您别无选择,只能忽略const
引用。你无法区分Delphi中不同类型的引用,只有一个。