0

range-v3 では、以下は c++17 の正当なコードです。

CardDeck::CardDeck() {
    std::vector<Suit> Suits = {Clubs, Diamonds, Hearts, Spades};
    std::vector<Value> Values = {Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten, Jack, Queen, King, Ace};
    for (auto [value, suit] : ranges::view::cartesian_product(Values, Suits))
        this->Cards.emplace_back(value, suit);
    this->shuffle();
}

私はその構文をauto [value, suit]どこにも見たことがありません.誰かがこれが可能な場合に説明できますか?
これがいつ使用されるかについての一般的な説明はありますか、それとも範囲ライブラリの魔法ですか?

4

0 に答える 0