google or-tools: как создать массив указателей на const-объект?

я пытаюсь использовать Google Glop для исследовательского проекта официальный сайт

Я играю с примером с исходным кодом

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

Решение

Пожалуйста, обратите внимание, что вы не поместили const последова-:

`MPVariable* const x`

против

`std::vector<MPVariable const *>`

Функция MakeNumVar() возвращает MPCariable* так что ничего не должно быть const,

0

Другие решения

Если вы действительно указываете на константные переменные, я бы пошел с:

std::vector<const MPVariable*> variables;

Но я всегда использовал

std::vector<MPVariable*> variables;
0

По вопросам рекламы [email protected]