Merhaba,
Az önce yanlış anlamları engellemek ve doğruyu kavramak için küçük bir deneme kodu yazdım. Meğer enum, bilgisayarın kapasitesine (32 bit/64 bit) göre adreslenebilen sanal bir SINIR'a yerleştirilen sabit değişmezlerden (immutable) ibaretmiş.
Yani bunu bir cetvel veya sayı ekseni gibi düşünebilirsiniz. Her sayı çizgisine yerleştirilen (işaretlen) bir isimler topluluğumuz var. Ancak kural gereği bunlar arasında sayıları yok farzedemiyoruz. Onlar hala orada; sadece isimsizler. Bakınız şu kod bunu kanıtlıyor:
Alıntı:
>> import std.stdio;
>
> immutable SINIR = size_t.max;
>
> enum Say {
> Bir = 1, Son = SINIR
> }
>
> void main() {
> Say deneme = Say.Bir;
>
> writeln ("SINIR = ", SINIR);
> writeln(" - ", deneme);
>
> for ( ; deneme != SINIR; deneme++)
> if (deneme % (SINIR / 8) == 0) writefln("\t%d", deneme);
>
> writeln(" - ", deneme);
> }
> ```
>
**ÇIKTISI:**
'SINIR = 4294967295
- Bir
536870911
1073741822
1610612733
2147483644
-1610612741
-1073741830
-536870919
-8
- Son'
**Dip Not:** Bu kod 32 bit sistemde denenmiştir. Muhtemelen 64 bit sistemde bu sayılar daha büyük olacak ve işlem daha uzun sürecek.
Sevgiler, saygılar...
--
[ Bu gönderi, <http://ddili.org/forum>'dan dönüştürülmüştür. ]