Теперь я использую некоторые коды моих коллег, которые создали невосприимчивый контейнер на C++. Контейнер выглядит следующим образом:Что мы можем сделать, если мы не можем удалить элементы из контейнера C++
NoDeleteContainer<MyObject> objList;
С его контейнером, я теперь создать некоторые объекты их инсайдерских objList
. То, что я сейчас делаю, - это проанализировать особенности каждого объекта-объекта objList
, и если функция объекта соответствует некоторым критериям, я сохраню их. Тогда моя проблема сейчас в том, что я не знаю, что это лучшая практика, чтобы держать их, и есть несколько решений, я могу понять:
Решение 1:
NoDeleteContainer<MyObject*> selObjPointerList;
//selObjPointerList will then keeps the pointer to the selected objects.
Решение 2:
std::vector indictorVec(objList.size(),false);
// change the indictor's value to true if its corresponding MyObject fulfill the requirements.
решение 3:
std::vector<MyObject*> selObjPointerList;
// similar to Solution 1
Тогда мой вопрос, какое решение лучше, или если у вас есть новые S вы можете обсудить их.
Почему бы вам не спросить своих коллег о том, что означает этот контейнер? Если он предназначен для хранения элементов, которые вы не должны удалять (что бы это ни значило), похоже, что вы не должны его использовать. – juanchopanza