예외(exception)란?
- 프로그램 실행 도중에 발생 할 수 있는 비정상적인 사건
- → 비정상인 데이터, 자원의 부족 등
- 예외 상황에 대한 적절한 대비를 하지 않으면 프로그램이 안정적으로 실행되지 않는 문제가 일어날 수 있음
예외처리(exception handling)
- 프로그램 실행 중 예외가 발생하였을때를 대비해 분기처리하는 것
예외처리에 따른 자원 관리 문제
스마트 포인터의 활용
- unique_ptr : 할당된 메모리를 한 개의 포인터만 가리킬 수 있음
- shared_ptr : 할당된 메모리를 여러 개의 포인터로 가리킬 수 있음
- vector 사용 가능
noexcept 함수 지정
→ 함수가 예외를 일으키지 않음을 지정
template <typename T>
T max(const vector<T>& v) noexcept {
auto p = v.begin();
T m = *p ++;
for(; p != v.end(); p ++)
if (m < *p) m = *p;
return m;
}
728x90
'KNOU > C++' 카테고리의 다른 글
[C++ 프로그래밍]템플릿 (0) | 2022.12.01 |
---|---|
[C++ 프로그래밍]연산자 다중정의 (0) | 2022.12.01 |
[C++ 프로그래밍] 클래스와 객체 (0) | 2022.12.01 |
[C++ 프로그래밍] 함수 (1) | 2022.12.01 |
댓글