본문 바로가기
KNOU/C++

[C++프로그래밍] 예외처리

by bottlesun 2022. 12. 1.
728x90

예외(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

댓글