Giriş parametreleri normalde 'in' olarak işaretleniyordu. 'in' parametrenin değiştirilmesine izin vermez.
http://ddili.org/ders/d/islev_parametreleri.html
in'in sıkıntısı, yapı nesnelerini işleve kopyalayarak göndermesidir (yapılar değer türü olduklarından). Belirli bir yapı türünün nesnelerinin kopyalanma bedeli büyük olduğunda (veya hiç mümkün olmadığında) 'in' yerine biraz da C++'tan alışkanlıkla 'const ref' kullanılır:
void foo(const ref Yapım nesne)
(Aslında 'ref const' da oluyor.)
2.060 ile birlikte 'in ref' de yasalmış:
void foo(in ref Yapım nesne)
Aslında tam aynı anlamda değiller çünkü 'in' ayrıca 'scope' belirtecini de içerir. (scope yukarıdaki bağlantıda geçiyor ama henüz hiçbir derleyici onu desteklemiyor.)
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]