[C++] 템플릿관한 기초 질문입니다.
-
게시물 수정 , 삭제는 로그인 필요
C++를 공부하는 아주 초보학생입니다.
저희 교수님께서 오버로딩 두개를 템플릿 하나로 만드는 문제를 내신다고 하셨는데
템플릿이 어떤건지 예시와 설명 부탁 드립니다.
C++를 공부하는 아주 초보학생입니다.
저희 교수님께서 오버로딩 두개를 템플릿 하나로 만드는 문제를 내신다고 하셨는데
템플릿이 어떤건지 예시와 설명 부탁 드립니다.
[C++] 템플릿관한 기초 질문입니다.
C++를 공부하는 아주 초보학생입니다.
저희 교수님께서 오버로딩 두개를 템플릿 하나로 만드는 문제를 내신다고 하셨는데
템플릿이 어떤건지 예시와 설명 부탁 드립니다.
왜필요한지에 대한 간단한설명과 예제를 보여드리겠습니다
저희가 어떤 함수를 만들었습니다
예를들어
처음에는 int 값 두가지를 서로 값을 바꾸는함수
void myswap( int* x , int* y)
{
int a;
a = *x;
*x = *y;
*y = a;
}
이라는 함수를 만들었다고 합시다
사용하다보니 char 값도 바꿔야 하는 경우도 생기게 되었습니다
그럼 이때는 어떻게 해야 될까요?
C언어에서 만약에 그랬다면
다른 방법도 있기는 있지만
myswap_char( char* x ,char* y )
{
char a;
a = *x;
*x = *y;
*y = a;
}
이런함수가 필요할것입니다
그러다가 다시 double 형도 바꾸는 함수가 필요하게 되었습니다.
그럼
myswap_double( double* x , double* y )
{
T a;
a = *x;
*x = *y;
*y = a;
}
이런함수가 필요하게 될것입니다
하지만 C++에서는 이와같이 로직이 같은경우에 타입을 자유롭게 변환 시켜주는
템플릿이라는 것이있습니다
저와 같은 로직이 완전히 같은 함수들을 하나로
이렇게 묵을수있습니다
template < class T >
void myswap( T& x, T& y )
{
T a;
a = x;
x = y;
y = a;
}
역참조 연산은 아시죠?? ------------ & ------------
모르신다면 C++책 앞쪽을 참조하세요
--------------------------------예제 소스---------------------------------------
#include <iostream>
using namespace std;
template < class T >
void myswap( T& x, T& y );
int main()
{
int a=10;
int b=20;
double c=20;
double d=40;
cout << "변환하기전의 a 값 : " << a << endl
<< "변환하기전의 b 값: " << b << endl;
cout << "변환하기전의 c 값 : " << c << endl
<< "변환하기전의 d 값: " << d << endl;
myswap( a , b ); // 타입이 다른데도같은 함수로 불려쓰이고 있습니다
myswap( c , d ); // 템플릿 짱~
cout << "변환 후의 a 값 : " << a << endl
<< "변환 후의 b 값: " << b << endl;
cout << "변환 후의 c 값 : " << c << endl
<< "변환 후의 d 값: " << d << endl;
return 0;
}
template < class T >
void myswap( T& x, T& y )
{
T a;
a = x;
x = y;
y = a;
}
... *y = a; } 이런함수가 필요하게 될것입니다 하지만 C++에서는 이와같이 로직이 같은경우에 타입을 자유롭게 변환 시켜주는 템플릿이라는...
제가 C++에서 제공하는 기능인 템플릿에 대하여 공부하는 중 저... 있어서 질문을 올립니다. #include <iostream> using namespace std; template <class...
... C++ 공부중에 막히는 부분 있어서 질문드립... 템플릿 자체가 템플릿 매개변수가 될수 있다고 해서 C++ 기초플러스 (4판) 책의 예제를...
... 문제는 템플릿에 관한 문제가 아니라고 생각이 되네요. 너무 어렵게 생각하고 계시는거 같습니다. 템플릿은 그냥 템플릿이고 입력은 따로 생각해보세요....
... c++언어에 관해서 아주 기초정도만 알아서 도저히 어떻게 만들어야할지 생각이 안나서 질문드립니다.. 다름아니라 C++을 사용해서 행렬에서...
... 싶어서 질문드립니다 1.c++ 개념 문법들을 먼저하고... C언어에서 C++ 갈 때, 그냥 시작해서 템플릿에서... "unreal 5 기초강좌"로 유툽 찾아보시면 꽤 나와요. (방금전에...
... 요즈음 학교에서 c++을 처음 배우고 있는 대학생입니다. 과제 하던 중... 질문을 읽어주셔서 감사드립니다. 즐거운 하루 되세요! 일단 답부터...
서론은 길게 하지않고 바로 질문 들어가겠습니다. 제가 typedef itk... 도움이 되셨으면 좋겠네여 님이 말씀하신거는 c++의 템플릿에 대한...
... 이런질문을 올리시다니.. 이상하네요^^;;; 금방 해결할수 있는... 3번은 출력에 관한 문제인듯한데요.. 재귀함수를써서 자식이...
... C 는 절차지향언어 C++은 객체지향언어 C야말로 모든 프로그래밍의 기초가 되겠고, 대부분의 프로그래밍 입문자 분들이 처음 접하시는 언어가 되겠습니다. 제...