【发布时间】:2013-12-16 06:48:55
【问题描述】:
这是关于统计机器翻译系统Moses的源码。
在Mosesdecoder project, 的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的完整文件是here。我知道mutable 用于修改 const 成员函数中的成员变量,或者想要修改 lambda 表达式中的某些超出范围的变量。但是,我不明白 mutable 在这段代码中的作用。
我很感激任何提示。谢谢。
【问题讨论】: