我正在尝试将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());
}
这应该如何工作?有人可以在这里分享一些经验吗?
答案 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;