| |
| Posted by kerdemdemir in reply to cos00kun | PermalinkReply |
|
kerdemdemir
Posted in reply to cos00kun
| Ne demek faydasi oluyorsa ne mutlu . Birkac yorum daha yapabilirim aslinda:
// Burda aslinda referans olarak gecmek daha iyi olurdu .
// Cunki farkinda olmasak bile yapı = birseylerYap(yapı) dedigimizde :
// 1 - Parametre kopyaliniyor
// 2 - Donus parametresi kopyaliniyor. Kopyalamanin kacinmak istememiz ise performans amacli oluyor genelde ozellikle buyuk objelerde.
Yapı birşeylerYap(Yapı yapı_) {
yapı_.a+=10;
yapı_.b+=10;
yapı_.c+=10f;
return yapı_;
}
Yani soyle :
void birşeylerYap( ref Yapı yapı_) { // eger C++ olsaydi "Yapi& yapi" olurdu
yapı_.a+=10;
yapı_.b+=10;
yapı_.c+=10f;
}
}
Bu yapiyi donus degeri olarak kullanma genelde soyle durumlarda lazim oluyor bana.
Yapı birşeylerYap() {
Yapı cokkullanilanDegerler = Yapi( 42, 42, 42.0) ; // Bu fonksiyonun icinde yaratildigi icin disariya referans yollayamam
// Kopyalama kacinilmaz.
return cokkullanilanDegerler;
}
Bazende paralel programlama yaparken kopyalama yapmak kacinilmaz olabiliyor. Bir cok baska durumlarda vardir ama aklima ilk gelenler bunlar oldu.
Erdemdem
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]
|