본문 바로가기

template3

C++ 21 [템플릿] ▣ 데이터타입별로 반환형 매개변수를 다르게 하여 함수오버로딩 가능, 하지만 다른 데이터타입에 대한 걸 계속 만들어야 하기 때문에 가독성이 떨어진다. ▣ 템플릿 : 함수와 클래스가 제네릭형으로 동작할 수 있게 해주는 틀 ▣ 제네릭 : 데이터 형식에 의존하지 않고, 하나의 값이 여러 다른 데이터 타입들을 가질 수 있는 기술 https://ko.wikipedia.org/wiki/%ED%85%9C%ED%94%8C%EB%A6%BF_(C%2B%2B) 템플릿 (C++) - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 템플릿(template)은 C++ 프로그래밍 언어의 한 기능으로, 함수와 클래스가 제네릭 형과 동작할 수 있게 도와준다. 함수나 클래스가 개별적으로 다시 작성하지 않고 ko.wiki.. 2023. 4. 21.
C++ [템플릿_02, template, typename] ▣ 이번장에서는 template 두 번째 장으로 다른 자료형 type을 사용할 경우에 어떻게 해야는지 공부해보겠습니다. ▣ 저번 1장에서 템플릿을 사용하여 코드를 작성해보겠습니다. 템플릿을 사용하는 이유는 간단합니다. 함수오버로딩시 다른 자료형 type일 경우 함수를 따로 만들어줘야 하는 불편함이 있었습니다. 그래서 템플릿을 사용하면 이렇게 어떤 자료형을 매개변수로 주더라도 그에 맞게 반환형을 주는걸 코드로 확인할 수 있습니다. 하지만 여기서 우리가 생각할 수 있는 문제는 같은 함수이지만 내가 원하는 타입일 경우 다른 함수를 지정하고 싶을 경우가 있습니다. 그럴 때 이렇게 코드를 작성합니다. ▣ 이렇게 template 을 따로 구분해주시고 함수를 내가 원하는 타입에 맞게 매개변수와 반환형을 지정해서 코드.. 2022. 4. 29.
C++ [템플릿_01, template, typename] ▣ 안녕하세요. 이번장에서 템플릿을 공부해보도록 하겠습니다. 우선 필요성에 대해서 생각해보겠습니다. ▣ 우리가 함수 오버 로딩을 공부했습니다. 함수 이름을 동일하게 사용하는 걸 이야기하는데, 이는 자료형이나 매개변수에 수가 다르면 사용할 수 있습니다. sum라는 함수에 하나는 int형으로 하나는 double형으로 반환형을 지정했습니다. ▣ 그리고 main() 함수에서 sum(10, 20), sum(1.4, 4.5)를 각각 출력해보면 매개변수에 값에 자료형에 따라 함수 오버 로딩으로 값이 출력되는 걸 확인할 수 있습니다. 하지만 함수이름이 같기 때문에 반환형에 자료형과 매개변수에 자료형이 어떻게 지정되어 있는지 우리는 알기가 어렵습니다. 직접 코드를 보는 방법도 있지만, 그렇지 못할 경우 반환형이 정수형인.. 2021. 8. 19.