본문 바로가기

C++ STL/Part 01 C++ 문법4

4장 템플릿 4-1. 함수 템플릿 여러 자료형의 함수를 하나의 함수로 만들어내는 틀이다. template T Adder(T a, T b) { return a+b; } int main() { Adder(1, 2); // Adder(1, 2) 인스턴스 생성 Adder(1, 2); // 명시적 지정 Adder(2.3, 3.5); // Adder(2.3, 3.5) 인스턴스 생성 Adder(2.3, 3.5); // 명시적 지정 } 매개변수를 가지는 함수 템플릿도 있다. template void PrintArray(T* arr) { for(int i=0; i 2021. 6. 22.
3장 함수 객체 3. 함수 객체 3-1. 함수 객체란 함수처럼 동작하는 객체로, ()연산자를 정의해야 한다. struct Func { void operator()() { cout 2021. 6. 22.
2장 함수 포인터 2. 함수 포인터 2-1. 함수 포인터란 변수 : 값을 저장하는 메모리 공간의 이름 포인터 : 주소를 저장하는 메모리 공간의 이름 함수 포인터 : 함수의 시작 주소를 저장하는 포인터 void Print(int num) { cout 2021. 6. 17.
1장 연산자 오버로딩 1-1. 연산자 오버로딩이란 C++에서 제공하는 기본 타입이 아닌 클래스 타입, 즉 사용자 정의 타입에서도 연산자를 사용할 수 있게 만든 문법 n1 + n2; // + 연산자 오버로딩 n1 * n2; // * 연산자 오버로딩 n2 = n1; // = 연산자 1-2. 연산자 오버로딩 정의 및 사용 class Point { ... const Point operator+(const Point& p) { Point pt; pt.x = this->x + p.x; pt.y = this->y + p.y; return pt; } }; int main() { Point p1(2,3); Point p2(2,4); Point p3; p3 = p1 + p2; // p1.operator+(p2) } 1-3. 단항 연산자 오버로.. 2021. 6. 17.