SORU
4 Kasım 2008, Salı


Nasıl bir numaralama üzerinde yineleme yapabilir miyim?

Ben sadece bir numaralama veya = gibi standart matematik operatörleri kullanabilirsiniz farkettim

C bir numaralandırma değerleri tüm sokmanın en iyi yolu nedir?

CEVAP
4 Kasım 2008, Salı


Tipik yolu, aşağıdaki gibi

enum Foo {
  One,
  Two,
  Three,
  Last
};

for ( int fooInt = One; fooInt != Last; fooInt   )
{
   Foo foo = static_cast<Foo>(fooInt);
   // ...
}

Tabii ki, bu numaralandırma değerleri belirtilirse ayırır:

enum Foo {
  One = 1,
  Two = 9,
  Three = 4,
  Last
};

Bu bir sıralama gerçekten sokmanın bir anlamı olmadığını göstermektedir. Bir sıralama ile başa çıkmak için tipik şekilde bir switch ifadesi kullanın.

switch ( foo )
{
    case One:
        // ..
        break;
    case Two:  // intentional fall-through
    case Three:
        // ..
        break;
    case Four:
        // ..
        break;
     default:
        assert( ! "Invalid Foo enum value" );
        break;
}

Eğer gerçekten numaralandır istiyorsanız, mal numaralama bir vektör değerleri ve bunun üzerinden yineleme. Bu düzgün belirtilen numaralandırma değerleri ile de ilgileneceğiz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chrmoe

    chrmoe

    7 Kasım 2006
  • GOTO Conferences

    GOTO Confere

    3 EKİM 2011
  • Jordie Jordan

    Jordie Jorda

    27 Ocak 2008