Hearts: Avoid reallocations for Vectors when possible

This commit is contained in:
Gunnar Beutner 2021-07-24 00:55:26 +02:00 committed by Andreas Kling
parent 5201c17d9b
commit d76b42599e
Notes: sideshowbarker 2024-07-18 08:25:08 +09:00

View file

@ -203,6 +203,7 @@ void Game::setup(String player_name, int hand_number)
}
NonnullRefPtrVector<Card> deck;
deck.ensure_capacity(Card::card_count * 4);
for (int i = 0; i < Card::card_count; ++i) {
deck.append(Card::construct(Card::Type::Clubs, i));
@ -212,6 +213,7 @@ void Game::setup(String player_name, int hand_number)
}
for (auto& player : m_players) {
player.hand.ensure_capacity(Card::card_count);
for (uint8_t i = 0; i < Card::card_count; ++i) {
auto card = deck.take(get_random_uniform(deck.size()));
if constexpr (!HEARTS_DEBUG) {