Если вы беспокоитесь о распределении многих небольших объектов кучи, тогда вектор может быть лучшим выбором контейнера, а не списком и деком. список будет выделять узел в куче каждый раз, когда вы вставляете объект в список, тогда как вектор будет хранить все объекты в смежной области памяти в куче.
Если у вас есть:
std::vector<Dog> dogs;
std::vector<Cat> cats;
std::vector<Animal*> animals;
void addDog(Dog& dog, std::vector<Dog>& dogs, std::vector<Animal*>& animals) {
dogs.push_back(dog);
animals.push_back(&dog);
}
Затем все собаки и кошки хранятся в двух смежных областях памяти на куче.
Как Грэм указал, что лучший способ решить эту проблему - использовать
oc process -f openshift/template.yaml -p PARAM1=VALUE1 -p PARAM2=VALUE2
, чтобы сначала заполнить ваш шаблон вашими параметрами. Затем передайте команду команде oc apply, чтобы применить ее к приложению, которая оставит вас с помощью следующей команды
oc process -f openshift/template.yaml -p PARAM1=VALUE1 -p PARAM2=VALUE2 | oc apply -f -
Это создаст или обновит все ваши настройки. Он также проверит, какие конфиги были изменены.
Если вы хотите начать сборку сразу после этого, используйте
oc start-build my-app