Какие лучше (чище, читаемых и/или эффективные) способы сделать это:Повышение простоты с станд :: Список
std::list<Fruit*> Apples;
std::list<Fruit> Basket;
for (std::list<Fruit*>::iterator niApple(Apples.begin());
niApple != Apples.end(); niApple++) {
for (std::list<Fruit>::iterator niBasket(Basket.begin());
niBasket != Basket.end(); niBasket++) {
if (&(*niBasket) == *niApple) {
Basket.erase(niBasket);
break;
}
} // loop
} // loop
Что бы вы порекомендовали? Я прежде всего нуждаюсь в ручках для яблок, которые я буду размещать внутри корзины, чтобы удалить яблоки из корзины без поиска (например, по индексу внутри фиксированного массива). Тем не менее, корзине необходимо выделять и освобождать память в процессе.
Не использовать 'std :: list' ... – Mehrdad
Звучит как вопрос для http://coderview.stackexchange.com/ –
Правило большого пальца:' std :: list' всегда является неправильным контейнером –