분류 전체보기(637)
-
C++ 초급 - 10. 예외 처리 (3 - 기본 예외 클래스 (std::exception, std::runtime_error))
📌 10.3 기본 예외 클래스 (std::exception, std::runtime_error)C++ 표준 라이브러리는 예외 처리를 위한 다양한 표준 예외 클래스(std::exception 계열)를 제공한다.이를 활용하면 예외를 일관된 방식으로 처리하고, 예외 발생 원인을 보다 쉽게 분석할 수 있다.📌 1. 표준 예외 클래스 (std::exception, std::runtime_error, std::logic_error 등)의 개념🔹 (1) 표준 예외 클래스란?C++ 표준 라이브러리는 std::exception을 기반으로 다양한 예외 클래스를 제공.모든 표준 예외 클래스는 std::exception을 상속받음.예외 발생 시 what() 멤버 함수를 사용하여 예외 메시지를 제공.💡 표준 예외 클래스..
2025.02.22 -
C++ 초급 - 10. 예외 처리 (2 - throw 키워드 (예외 발생시키기))
📌 10.2 throw 키워드 (예외 발생시키기)C++에서 throw 키워드는 프로그램 실행 중 특정 조건에서 예외를 발생시키는 역할을 한다.이를 활용하면 예외적인 상황을 감지하고, 해당 오류를 적절하게 처리할 수 있도록 강제할 수 있다.📌 1. throw 키워드의 기본 개념 (throw 예외객체)🔹 (1) throw란?throw를 사용하면 예외 객체를 생성하여 예외를 발생시킬 수 있음.throw가 실행되면 즉시 try-catch 블록으로 이동하여 예외를 처리해야 함.throw된 예외가 catch에서 처리되지 않으면 프로그램이 비정상적으로 종료됨.💡 기본 문법throw 예외객체;💡 예제: 기본 throw 사용법#include int main() { try { std::cout ..
2025.02.22 -
C++ 초급 - 10. 예외 처리 (1 - try-catch 블록 (예외 처리의 기본 구조))
📌 10. 예외 처리C++에서 예외 처리(Exception Handling)는 프로그램 실행 중 발생하는 오류를 안전하게 처리하는 방법이다.이를 통해 예기치 않은 상황에서도 프로그램이 정상적으로 동작할 수 있도록 한다.📌 10.1 try-catch 블록 (예외 처리의 기본 구조)C++에서 예외 처리(Exception Handling)는 프로그램 실행 중 예상치 못한 오류가 발생했을 때, 이를 안전하게 처리하는 방법이다.이를 통해 프로그램이 비정상 종료되지 않도록 하고, 적절한 복구 및 오류 메시지를 제공할 수 있다.C++에서는 try-catch 블록을 사용하여 예외를 감지하고 처리할 수 있다.📌 1. 예외 처리의 기본 개념 (try, catch)🔹 (1) try-catch 블록이란?try 블록: ..
2025.02.22 -
C++ 초급 - 9. 템플릿 기초 (3 - C++17의 template<typename T> auto)
📌 9.3 C++17의 template autoC++17부터 템플릿 함수에서 auto를 반환 타입으로 설정할 수 있어 반환값의 타입을 더욱 유연하게 지정할 수 있다.이를 통해 코드 가독성이 향상되고, 더욱 강력한 타입 추론이 가능해진다.📌 1. template auto의 기본 개념🔹 (1) auto를 사용한 반환 타입 추론C++17 이전에는 템플릿 함수에서 반환 타입을 명확하게 지정해야 했음.C++17부터 auto를 사용하면 반환 타입을 자동으로 추론 가능.💡 기본 문법templateauto 함수이름(T 매개변수) { return 값;}💡 예제: auto를 활용한 반환 타입 자동 추론#include templateauto square(T x) { return x * x; // 컴파일..
2025.02.22 -
C++ 초급 - 9. 템플릿 기초 (2 - 클래스 템플릿 (Class Template))
📌 9.2 클래스 템플릿 (Class Template)C++의 클래스 템플릿(Class Template)은 데이터 타입에 의존하지 않는 범용적인 클래스를 만들 수 있도록 해준다.이를 활용하면 코드 중복을 줄이고, 다양한 타입을 지원하는 재사용 가능한 클래스를 구현할 수 있다.STL(Standard Template Library)의 vector, map, set 등의 컨테이너도 클래스 템플릿을 기반으로 설계되어 있다.📌 1. 클래스 템플릿 기본 개념 (template)🔹 (1) 클래스 템플릿이란?템플릿을 사용하면 데이터 타입에 의존하지 않는 범용적인 클래스를 정의할 수 있음.template 또는 template를 사용하여 선언.클래스 내부에서 T는 사용자가 지정한 타입으로 변경되어 컴파일됨.💡 기본..
2025.02.22 -
C++ 초급 - 9. 템플릿 기초 (1 - 함수 템플릿 (Function Template))
📌 9. 템플릿 기초C++의 템플릿(Template)은 일반화 프로그래밍(Generic Programming)을 가능하게 하며, 데이터 타입에 의존하지 않는 코드를 작성할 수 있도록 해준다.템플릿을 활용하면 재사용성이 높은 코드를 작성할 수 있으며, 컴파일 타임에 타입을 결정하여 최적화된 실행 성능을 제공한다.📌 9.1 함수 템플릿 (Function Template)C++의 함수 템플릿(Function Template)을 사용하면 데이터 타입에 의존하지 않는 함수를 작성할 수 있다.이를 통해 코드 중복을 줄이고, 보다 범용적인 로직을 구현 가능하며, 컴파일 시점에 타입이 결정되어 최적화된 성능을 제공한다.📌 1. 템플릿 함수의 기본 개념 (template)🔹 (1) 함수 템플릿이란?템플릿(Temp..
2025.02.22