c++中如何在进行一定的步骤后再令变量不可修改？
我想在main函数之外定义一个float型二维数组的全局变量c，但是c的值要从文件中读取，即无法在定义时赋值。然后我希望在main函数中对c进行赋值之后再锁定c，令其不可修改，怎样才能做到这一点呢？
你希望你自己写的程序的其他部分不可修改还是连其他人写的代码包括你无法接触到源码的动态连接库都不可修改？

如果是后者，你需要让这个数组起始处与内存页面边界对齐，并让数组占据页面的整数倍，如果有零头，就多分配一些内存直到满页。给它正确赋值以后，调用操作系统提供的api把它占据的所有页面设为不可写入。注意这不是c++的能力，是操作系统提供的，如果操作系统不提供就没办法。

如果是前者，你给这个数组取个永远记不住也不会误用的长名字，比方说，开头是array_，后面跟上一个新生成的uuid。然后再增加一个全局变量c，类型是constfloat* const，强制指向这块内存。你除了给数组初始化的代码以外，其他地方都用c去访问这个数组，那就不会不小心改写了。至于原先那个名字，忘掉它就行了。

补充：这个问题的要害所在，是你是否认识到const并非运行时保护。它仅仅是保护程序员在码字的时候不要疏忽犯错。