Vector initialization without using default constructor
<p>How can I reduce the number of lines of code of the following without having a default constructor?</p>

<pre><code>#include &lt;vector&gt;

enum Rank { DEUCE, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, ACE };

enum Suit { HEART, DIAMOND, CLUB, SPADE };

struct Card {
    Card(Rank r, Suit s) : rank(r), suit(s) { }
    Card(const Card&amp; copy) : rank(copy.rank), suit(copy.suit) {}

    Rank rank;
    Suit suit;
};

const Card deckOfCards[52] = {
    Card(ACE, HEART),
    Card(DEUCE, HEART),
    Card(THREE, HEART),
    Card(FOUR, HEART),
    Card(FIVE, HEART),
    Card(SIX, HEART),
    Card(SEVEN, HEART),
    Card(EIGHT, HEART),
    Card(NINE, HEART),
    Card(TEN, HEART),
    Card(JACK, HEART),
    Card(QUEEN, HEART),
    Card(KING, HEART),
    Card(ACE, DIAMOND),
    Card(DEUCE, DIAMOND),
    Card(THREE, DIAMOND),
    Card(FOUR, DIAMOND),
    Card(FIVE, DIAMOND),
    Card(SIX, DIAMOND),
    Card(SEVEN, DIAMOND),
    Card(EIGHT, DIAMOND),
    Card(NINE, DIAMOND),
    Card(TEN, DIAMOND),
    Card(JACK, DIAMOND),
    Card(QUEEN, DIAMOND),
    Card(KING, DIAMOND),
    Card(ACE, CLUB),
    Card(DEUCE, CLUB),
    Card(THREE, CLUB),
    Card(FOUR, CLUB),
    Card(FIVE, CLUB),
    Card(SIX, CLUB),
    Card(SEVEN, CLUB),
    Card(EIGHT, CLUB),
    Card(NINE, CLUB),
    Card(TEN, CLUB),
    Card(JACK, CLUB),
    Card(QUEEN, CLUB),
    Card(KING, CLUB),
    Card(ACE, SPADE),
    Card(DEUCE, SPADE),
    Card(THREE, SPADE),
    Card(FOUR, SPADE),
    Card(FIVE, SPADE),
    Card(SIX, SPADE),
    Card(SEVEN, SPADE),
    Card(EIGHT, SPADE),
    Card(NINE, SPADE),
    Card(TEN, SPADE),
    Card(JACK, SPADE),
    Card(QUEEN, SPADE),
    Card(KING, SPADE)
};

class Deck {
public:
    Deck() : cards(deckOfCards, deckOfCards + 52) {}
    ~Deck() {}

private:
    std::vector&lt;Card&gt; cards;
};
</code></pre>
