Thread overview
Dart Dilinin Dökümanındaki Anlam Veremediğim İngilizce Bir İfade
May 03, 2018
İbrahim
May 03, 2018
kerdemdemir
May 03, 2018

Selamün Aleyküm;

https://www.dartlang.org/guides/language/language-tour#final-and-const
Burada altını çizdiğim metine şöyle bir anlam verdim:
Alıntı:

>

Eğer const (sabit) değişken sınıf seviyesinde ise onu static const olarak tanımlayın.

https://s18.postimg.cc/53kz5c7jt/image.png
Burada sınıf seviyesinden kasıt nedir? Tam olarak anlayamadım.
Teşekkürler.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 03, 2018

Ibrahim ben soyle anladim :

eger global veya local bir degisken ise.

const x = 5;

gibi const koyun diyor.

Burda "class level" dan kastettigi "class member variable". "level" kelimesi kullanmasinin amaci sinifin parentezleri icinde diye dusunuyorum.

Yani sinifda ise x "imiz soyle olacak imis :

class A
{
static const x = 5;
}

Bir cok dili takip etmek insanin ufkunun acilmasi acisinda baya guzel bence tebrik ediyorum seni.

Erdemdem

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

May 03, 2018

const üyeler nesneleri atanmaz yaparlar. (C++ ve D'de de öyledir.) Söylemek istedikleri, "const olacaksa, yani değeri değişmeyecekse neden nesnenin üyesi olsun?". Doğru çünkü sınıf üyesi olsa da aynı anlama gelir ve böylece nesnenin boyutu da küçük olur. (static üyeden tek adet olur ve türün bütün üyeleri tarafından paylaşılır.)

Aşağıdaki D kodunun derlenebilmesi için i'yi static olarak tanımlamak gerekir yoksa main içindeki atama işlemi derlenemez:

struct S {
   const i = 42;    // Derlenmesi için 'static' yapın
}

void main() {
   auto s = S();
   s = s;
}

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]