Bir değişkeni başka bir değişkene veya ifadeye bağlayan IMHO, matematikte çok yaygın bir senaryodur. Aslında, başlangıçta, birçok öğrenci atama operatörünün (=) bir tür bağlayıcı olduğunu düşünmektedir. Ancak dillerin çoğunda ciltleme yerel bir özellik olarak desteklenmez. C # gibi bazı dillerde, bazı durumlarda yerine getirilmiş bazı durumlarda ciltleme desteklenir.
Ancak bunu yerel bir özellik olarak uygulayan IMHO, aşağıdaki kodu değiştirmek kadar basitti.
int a,b,sum;
sum := a + b;
a = 10;
b = 20;
a++;
buna-
int a,b,sum;
a = 10;
sum = a + b;
b = 20;
sum = a + b;
a++;
sum = a + b;
Sağdaki ifadede yer alan değişkenin değerlerini değiştiren her komuttan sonra ciltleme komutunu atamalar olarak yerleştirmek anlamına gelir. Bundan sonra, gereksiz talimatları (veya derlemeden sonra montajda optimizasyon) kırpacaktır.
Peki, neden çoğu dilde yerel olarak desteklenmiyor. Özellikle C ailesinde mi?
Güncelleme:
Farklı görüşlerden, bu önerilen "bağlayıcı" kelimeyi daha kesin olarak tanımlamam gerektiğini düşünüyorum.
- Bu tek yönlü bağlanmadır. Yalnızca toplam a + b'ye bağlanır, tersi de geçerlidir.
- Bağlamanın kapsamı yereldir.
- Bağlama kurulduktan sonra değiştirilemez. Yani, toplam a + b'ye bağlandığında toplam her zaman a + b olacaktır.
Umarım fikir şimdi daha açıktır.
Güncelleme 2:
Sadece bu P # özelliğini istedim . Umarım gelecekte orada olur.