这是关于统计机器翻译系统Moses的源代码。在Mosesdecoder 项目Factor
的类中,关键字 有一个奇怪的用法:mutable
class Factor {
__SOME_OTHER_CODE__
// FactorCollection writes here.
// This is mutable so the pointer can be changed to pool-backed memory.
mutable StringPiece m_string
size_t m_id;
__SOME_OTHER_CODE__
}
的完整文件Factor.h
在这里。我知道mutable
当您想要修改 const 成员函数中的成员变量,或者想要修改 lambda 表达式中的某些超出范围的变量时,会使用它。但是,我不明白mutable
这段代码在做什么。
我很感激任何提示。谢谢你。