我可以只将数组的特定元素声明为常量吗?(C/C++/Fortran的)

Mak*_*isH 1 c c++ arrays fortran constants

场景: 我在函数中传递了一个2D矩阵作为参数,我希望能够读取和更改所有元素, 我想防止任何意外写入,让我们说最后一列.所以我想以某种方式告诉编译器使用此函数中的特定元素作为常量.

可能无法完成,但在某些情况下它会很有用.

Cli*_*ord 5

数组是一个连续的常见对象块; 所以你建议不支持.

适当的解决方案是封装数组并通过可以应用所需语义的函数访问它.事实上,如果你使用C++,你可以封装在一个[]运算符重载的类中,这样你就可以在使用数组访问表示法的同时应用你需要的语义.