본문 바로가기
반응형

Language/C++17

16.예외처리등 기타 예외 처리 (Exception Handling) 특수한 상황의 처리를 위해 사용 프로그램은 이러한 특수한 상황에 대해 특수한 처리를 해 주어야 함 특수한 상황이란 리소스 부족 / missing 잘못된 연산 범위의 위반 (out of bound) 오버 플로우 / 언더플로우 예외처리 0으로 나눔 try{ if(total == 0){ throw 0; //throw exception avg = sum / total; // not execitr if total == 0 } catch (int &ex){ cerr 2023. 12. 25.
15.STL Containers list l{1,2,3}; l.front() = 1; l.back() = 3; // 1 - > 2 -> 3 포인터를 갖고 있다. 컨테이너의 종류 Sequence 컨테이너 → 삽입 순서를 유지하는 컨테이너 → array, vector, deque, list, forward_list Associative 컨테이너 → 순서가 없거나, 미리 정해진 규칙에 따라 저장하는 컨테이너 → set, multi set, map, multi map 컨테이너 어뎁터 → 다른 컨테이너들의 변형 응용 → stack, queue, priority queue Sequence Container - Array std::array (C++11) #include 고정 크기 배열 기존의 정적 배열(raw array)(ex : int arr[.. 2023. 12. 25.
14.STL STL : Standard template library 템플릿을 사용해 구현된 컨테이너의 집합 널리 사용되는 자료구조와 알고리즘이 구현되어 있음 시간 복잡도는 레퍼런스 문서에서 찾아 볼 수 있다. Powerful, reusable, adaptable, generic, HUGE 구성요쇼 컨테이너 → 객체 또는 기본 자료형의 집합 → array, vector, deque, stack, set, map, etc. → 각 컨테이너는 관련된 헤더 파일 포함 필요 (#include ) 알고리즘 → 컨테이너의 요소들을 다루기 위한 알고리즘 → find, max, count, accumulate, sort, etc. 반복자(iterators) → 컨테이너의 요소들에 대한 순회 및 접근 → forward, revers.. 2023. 12. 25.
13.제네릭 프로그래밍 제네릭 프로그래밍 → 타입에 관계없이 동작하는 일반적인 코드를 작성하는 방법 ex) 여러가지 덧셈을 수행하는 함수들을 작성할 때, 아래와 같은 함수들을 개별적으로 구현해야 했다. → add(int, int) / add(double, double/ add(Point, Point) 이를 한번의 코드 작성으로 가능하게 하는 방법이 제네릭 프로그래밍 기법 제네릭 프로그래밍의 구현 방법 매크로 사용 ← 사용시 주의 함수 / 클래스 템플릿 사용 매크로 ( #define) #define MAX_SIZE 100 #define PI 3.141592 //전처리후 PI는 3.141592로 바뀜 doule a = PI * 3; //---> double a = 3.141592 * 3; Generic 하지 않은 프로그래밍 int.. 2023. 12. 25.
반응형