我有一个适用于 3d 网格的程序。这个网格有它自己的类对象 Grid,看起来像这样(简化版):
class Grid
{
public:
Grid() { readDataFromInputFile(); }
private:
void readDataFromInputFile() {...} // this function reads the values for i, j, k from disk
int i; int j; int k;
};
我现在想做的是能够将变量 i、j 和 k 设置为 const int,以避免在其他函数中意外地弄乱它们。然而,我不能轻易地将它们设置在成员初始化器列表中,因为它们必须从文件中读取。我一直在浏览现有的讨论,但我找不到关于这个问题的准确讨论。
有没有一种解决方案可以将它们设置为 const,并且仍然可以使用复杂的函数来检索数据?在我的实际应用程序中,当然还有更多的变量要读取,初始化后不允许更改。