Google or-tools glop:如何创建指向const对象的指针数组?

时间:2018-09-28 21:30:57

标签: c++ pointers or-tools

我正在尝试将Google glop用于研究项目official site

我正在处理源代码附带的示例

MPVariable* const x = solver.MakeNumVar(0.0, 1, "x");

我可以看到如何在glop中创建变量。

但是,我不明白,如果在编译时没有给出变量数量怎么办?如果程序接收到来自网络的命令并即时解决问题。

我想应该有一个变量数组?

std::vector<MPVariable*> variables;// is this correct? or it should be:
std::vector<MPVariable const *> variables; // never saw syntax like this before

variables.resize(100);//say, 100 variables
for(std::size_t i = 0; i < variables.size(); ++i){
    variables[i] = solver.MakeNumVar(0.0, createSomeNumber(), createName());
}

这应该如何工作?有人可以在这里分享一些经验吗?

2 个答案:

答案 0 :(得分:0)

请注意,您没有一致地放置const

`MPVariable* const x`

vs。

`std::vector<MPVariable const *>`

函数MakeNumVar()返回一个MPCariable*,因此不必const

答案 1 :(得分:0)

如果您真的想要指向const变量的指针,那我可以考虑:

std::vector<const MPVariable*> variables;

但是我一直都使用

std::vector<MPVariable*> variables;