Sayımlar

enum tipli veriler belirli ve sınırlı bir veri kümesine aittir. Sayım tipi şu şekilde tanımlanabilir:

enum sayılabilir tipin ismi
  {
  değerlerin listesi
  };

Değerler listesi, isimlendirilmiş sabitlerin virgülle ayrılmış bir listesidir.

Örnek:

enum months  // isimlendirilmiş sabitlerin sayımı
   {
    January,
    February,
    March,
    April,
    May,
    June,
    July,
    August,
    September,
    October,
    November,
    December
   };

Sayım bildirildikten sonra tamsayı değerli 4-baytlık yeni bir veri tipi görünür. Yeni veri tipinin bildirimi, derleyicinin geçirilen parametreleri sıkıca kontrol etmesini sağlar; çünkü sayım, yeni isimlendirilmiş sabitleri tanıtır. Yukarıdaki örnekte, January isimli sabit 0 değerine, February - 1 değerine ve December - 11 değerine sahiptir.

Kural: Sayımdaki sabitlerden biri için belirli bir değer atanmamışsa, ilgili değer otomatik olarak derleyici tarafından verilir. Eğer bu sabit sayımın ilk üyesiyse değeri '0' olarak ayarlanır. Takip eden tüm üyeler için değerler, bir önceki değerin üstüne bir eklenerek hesaplanacaktır.

Örnek:

enum intervals  // İsimlendirilen sabitlerin sayımı
   {
    month=1,     // Bir aylık aralık
    two_months,  // İki ay
    quarter,     // Üç ay - çeyrek
    halfyear=6,  // Yarım yıl
    year=12,     // Yıl - 12 ay
   };

Notlar

  • C++ dilinin aksine, sayım tipinin içsel temsilinin MQL5'deki büyüklüğü, her zaman 4 bayta eşittir. Yani sizeof (months), 4 değerine dönüş yapar.
  • C++ dilinin aksine, MQL5'de bir anonim sayım bildirilemez. Yani enum anahtar sözcüğünden sonra, her zaman benzersiz isim isim belirtilmelidir.

Ayrıca Bakınız

Tip Dönüşümü