본문 바로가기

GD's IT Lectures : 기초부터 시리즈187

[C/C++ 프로그래밍 : 중급] 11. 스마트 포인터 Chapter 11. 스마트 포인터 스마트 포인터는 C++에서 동적 메모리 관리를 단순화하는 도구입니다. 그들은 기본 포인터와 비슷하게 동작하지만, 적절한 시점에 자동으로 메모리를 해제하여 메모리 누수를 방지합니다. 스마트 포인터의 기본 개념과 함께, 다양한 스마트 포인터 유형(auto_ptr, unique_ptr, shared_ptr, weak_ptr)에 대해 알아보고, 사용자 정의 스마트 포인터 구현 방법에 대해 학습합니다. [Chapter 11. 스마트 포인터] 11.1. 스마트 포인터 이해하기 11.1.1. 스마트 포인터란 무엇인가 11.1.2. 스마트 포인터의 필요성과 사용 이유 11.1.3. 스마트 포인터의 작동 원리 11.2. C++ 스마트 포인터 종류 11.2.1. std::auto_ptr.. 2023. 6. 12.
[C/C++ 프로그래밍 : 중급] 10. STL 알고리즘 Chapter 10. STL 알고리즘 C++ 표준 템플릿 라이브러리 (STL)의 핵심 부분인 알고리즘을 배웁니다. 알고리즘의 개념, 특징, 분류부터 다양한 알고리즘 함수들의 사용법까지 자세하게 다룹니다. 알고리즘 종류에 따라 예제코드와 함께 사용법을 설명하며, 수치, 집합, 힙, 최소/최대 알고리즘 등 다양한 주제를 다룹니다. 각 섹션에서는 STL 알고리즘을 어떻게 활용하는지 이해하도록 하고, 실제 코드에서 어떻게 적용할 수 있는지 보여줍니다. [Chapter 10. STL 알고리즘] 10.1. STL 알고리즘 이해하기 10.1.1. STL 알고리즘이란 무엇인가 10.1.2. STL 알고리즘의 특징 10.1.3. STL 알고리즘의 분류 10.2. 비 수정 시퀀스 알고리즘 10.2.1. for_each의 .. 2023. 6. 9.
[C/C++ 프로그래밍 : 중급] 9.STL 컨테이너 Chapter 9. STL 컨테이너 STL(Standard Template Library) 컨테이너는 C++ 표준 라이브러리의 일부로, 다양한 데이터 구조를 제공합니다. 이 컨테이너들은 자료형에 대해 일반화된(generic) 프로그래밍을 가능하게 하며, 배열, 연결 리스트, 스택, 큐, 트리 등 다양한 자료구조를 표준화된 형태로 사용할 수 있게 합니다. 컨테이너는 값을 저장하는 객체로, 일반적으로 STL 알고리즘과 함께 사용되어 데이터의 효율적인 처리를 도와줍니다. [Chapter 9. STL 컨테이너] 9.1. STL 이해하기 9.1.1. STL이란 무엇인가 9.1.2. STL의 구성요소: 컨테이너, 반복자, 알고리즘 9.1.3. STL의 장점과 특징 9.2. 시퀀스 컨테이너 9.2.1. vector의.. 2023. 6. 7.
[C/C++ 프로그래밍 : 중급] 8. 예외 처리와 오류 처리 Chapter 8. 예외 처리와 오류 처리 예외 처리는 프로그램이 실행 중에 발생하는 예외적인 상황들, 즉 에러를 대처하는 방법에 대해 알아봅니다. 또한, 사용자가 직접 예외를 정의하고 사용하는 방법에 대해서도 학습합니다. 이후, 예외의 전파와 예외 안전성에 대해 배웁니다. 마지막으로, 오류 처리에 대해 알아보고, 예외 처리와 오류 처리의 차이점을 비교합니다. [Chapter 8. 예외 처리와 오류 처리] 8.1. 예외 처리 이해하기 8.1.1. 예외란 무엇인가 8.1.2. 예외 처리의 필요성 8.1.3. C++에서의 예외 처리 메커니즘 8.2. try, catch, throw 사용하기 8.2.1. try 블록과 throw 문의 사용 8.2.2. catch 블록에서의 예외 처리 8.2.3. 다중 catc.. 2023. 6. 3.
[C/C++ 프로그래밍 : 중급] 7.가상 함수와 추상 클래스 Chapter 7. 가상 함수와 추상 클래스 가상 함수는 C++의 객체 지향 프로그래밍의 중요한 개념 중 하나입니다. 이는 기반 클래스에서 선언되고 파생 클래스에서 재정의 될 수 있는 함수를 가리킵니다. 가상 함수를 이해하는 것은 다형성 구현에 있어 핵심이며, 이를 통해 여러분의 코드는 유연성과 확장성을 가질 수 있습니다. [Chapter 7. 가상 함수와 추상 클래스] 7.1. 가상 함수 이해하기 7.1.1. 가상 함수란 무엇인가 7.1.2. 가상 함수 선언과 구현 7.1.3. 가상 함수의 호출과 오버라이딩 7.1.4. 가상 함수의 동작 원리 7.2. 가상 함수의 활용 7.2.1. 다형성과 가상 함수 7.2.2. 가상 함수와 메모리 관리 7.2.3. 가상 함수를 이용한 코드 재사용성 7.2.4. 가상 .. 2023. 5. 30.
[C/C++ 프로그래밍 : 중급] 6. 다형성 Chapter 6. 다형성 다형성(Polymorphism)은 동일한 인터페이스에서 다양한 동작을 할 수 있는 객체 지향 프로그래밍의 핵심 특성 중 하나입니다. 이 챕터에서는 C++에서의 다형성 개념을 이해하고 이를 실제 코드에서 어떻게 활용하는지에 대해 살펴봅니다. 함수 오버로딩, 연산자 오버로딩부터 가상 함수와 순수 가상 함수를 통한 다형성 구현, 그리고 RTTI를 통한 런타임 다형성까지 상세히 다룹니다. 이를 통해 프로그래밍의 유연성과 코드 재사용성을 높일 수 있는 다형성의 필요성과 활용 방법을 배울 수 있습니다. [Chapter 6. 다형성] 6.1. 다형성의 개념 6.1.1. 다형성이란 무엇인가 6.1.2. 다형성의 필요성 6.2. 함수 오버로딩 6.2.1. 함수 오버로딩의 정의와 사용법 6.2... 2023. 5. 29.