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

  • Apple

    Apple

    22 HAZİRAN 2005
  • The White House

    The White Ho

    21 Ocak 2006
  • UnboxTechnology

    UnboxTechnol

    20 Ocak 2011