Fonksiyonel Programlama - Referansla Arama

Referansla Çağrıda, original value is changedçünkü argümanların referans adresini iletiyoruz. Gerçek ve biçimsel argümanlar aynı adres alanını paylaşır, böylece işlevin içindeki herhangi bir değer değişikliği, işlevin içinde olduğu kadar dışında da yansıtılır.

C ++ 'da Referansla Çağrı

Aşağıdaki program Call by Value'nun C ++ 'da nasıl çalıştığını gösterir -

#include <iostream> 
using namespace std; 

void swap(int *a, int *b) {    
   int temp; 
   temp = *a; 
   *a = *b; 
   *b = temp; 
   cout<<"\n"<<"value of a inside the function: "<<*a; 
   cout<<"\n"<<"value of b inside the function: "<<*b; 
}  
int main() {     
   int a = 50, b = 75;   
   cout<<"\n"<<"value of a before sending to function: "<<a; 
   cout<<"\n"<<"value of b before sending to function: "<<b; 
   swap(&a, &b);  // passing value to function 
   cout<<"\n"<<"value of a after sending to function: "<<a; 
   cout<<"\n"<<"value of b after sending to function: "<<b; 
   return 0;   
}

Aşağıdaki çıktıyı üretecektir -

value of a before sending to function:  50 
value of b before sending to function:  75 
value of a inside the function:  75 
value of b inside the function: 50 
value of a after sending to function:  75 
value of b after sending to function:  50

Python'da Referansla Çağrı

Aşağıdaki program, Değere Göre Çağırmanın Python'da nasıl çalıştığını gösterir -

def swap(a,b): 
   t = a; 
   a = b; 
   b = t; 
   print "value of a inside the function: :",a 
   print "value of b inside the function: ",b 
   return(a,b) 
    
# Now we can call swap function 
a = 50 
b =75 
print "value of a before sending to function: ",a 
print "value of b before sending to function: ",b 
x = swap(a,b) 
print "value of a after sending to function: ", x[0] 
print "value of b after sending to function: ",x[1]

Aşağıdaki çıktıyı üretecektir -

value of a before sending to function:  50 
value of b before sending to function:  75 
value of a inside the function:  75 
value of b inside the function:  50 
value of a after sending to function:  75 
value of b after sending to function:  50