#include<iostream>
#include<string>
template <typename T>
void swap(T a , T b)
{
T temp = a;
a = b;
b = temp;
}
template <typename T1>
void swap1(T1 a , T1 b)
{
T1 temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10 , b = 20;
std::string first = "hi" , last = "Bye";
swap(a,b);
swap(first, last);
std::cout<<"a = "<<a<<" b = "<<b<<std::endl;
std::cout<<"first = "<<first<<" last = "<<last<<std::endl;
int c = 50 , d = 100;
std::string name = "abc" , surname = "def";
swap1(c,d);
swap1(name,surname);
std::cout<<"c = "<<c<<" d = "<<d<<std::endl;
std::cout<<"name = "<<name<<" surname = "<<surname<<std::endl;
swap(c,d);
swap(name,surname);
std::cout<<"c = "<<c<<" d = "<<d<<std::endl;
std::cout<<"name = "<<name<<" surname = "<<surname<<std::endl;
return 0;
}
**Output**
a = 10 b = 20
first = Bye last = hi
c = 50 d = 100
name = abc surname = def
c = 50 d = 100
name = def surname = abc
উভয় swap()
এবং swap1()
মূলত একই ফাংশন-সংজ্ঞা আছে তবে কেন কেবল swap()
আসলে স্ট্রিংগুলি অদলবদল করে, যখন swap1()
না?
এছাড়াও আপনি কি আমাকে বলতে পারেন যে স্ট্রাল স্ট্রিংগুলি ডিফল্টরূপে আর্গুমেন্ট হিসাবে কীভাবে পাস হয় তারা মান বা রেফারেন্স দ্বারা পাস হয়?