有没有办法固定矢量的大小,仍然改变内容?
我试过制作一个const向量,const std::vector<int> vec(10);
但这阻止我改变值.
vec[3] = 3;
给出编译器错误:分配只读位置.
我还尝试使用const引用非const向量
std::vector<int> vec(10);
const std::vector<int>& vecref(vec);
Run Code Online (Sandbox Code Playgroud)
这给出了相同的编译器错误.
我希望能够在声明或初始化阶段之后修复矢量大小.我可以使用旧式阵列,但我希望能够使用矢量算法.
如果这有任何区别,我正在使用g ++.
语境:
我正在尝试学习C++(在阅读一些stackoverflow社区推荐的书籍时),我决定尝试制作一个具有基本功能的元胞自动机程序,仅仅是为了学习(因为它对我来说很有趣).
题:
是否有一种更自然的方式来表示Cell元素矩阵而不是使用vector <vector <Cell >>?我正在寻找标准库或其他一些流行的库中的潜在替代品.关于表现的评论将不胜感激.
我没有使用向量向量的麻烦,也没有语法问题,我只想知道替代方案.而且因为我没经验,每次我写一些代码,我想可能有更多直接的方法来做我自己找不到的.
这是我的第一个问题,所以如果我针对问题的指导方针做了一些事情,我会非常感激你指出的.
有用的相关问题供将来参考:vector <vector <double >>是一个制作矩阵类的好方法吗?