#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()
그렇지 않습니다?
또한 stl 문자열이 기본적으로 인수로 전달되는 방법, 즉 값 또는 참조로 전달되는지 알 수 있습니까?
4
std :: swap 의 문제점은 무엇입니까 ?
—
Jesper Juhl
아무 문제가 없습니다. 템플릿 기능에 대해 배우고있었습니다. 그래서 연습하기 위해이 코드를 작성했지만 출력이 혼란 스럽습니다. 그래서 물었습니다.
—
GettingBetterprogrammer