在接口(interface)中定义函数:
virtual void ModifyPreComputedCoeffs ( std::vector < IndexCoeffPair_t > & model_ ) = 0;
我们希望指定 vector 模型_不应更改,因为不应对 vector 执行 push_back 等操作,但模型_中的 IndexCoeffPair_t 结构对象可以更改。 我们应该如何指定?
virtual void ModifyPreComputedCoeffs ( const std::vector < IndexCoeffPair_t > & model_ ) = 0;
我认为不起作用。
最佳答案
与其将 vector 传递给函数,不如按照标准库的方式传递一对迭代器。
virtual void ModifyPreComputedCoeffs ( std::vector < IndexCoeffPair_t >::iterator & model_begin, std::vector < IndexCoeffPair_t >::iterator & model_end )
关于c++ - 非常量对象的 const vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6819699/