분류 전체보기70 Ch 15. 예외처리(Exception Handling) 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C++의 예외란? - 프로그램의 "실행(런타임) 도중" 발생하는 문제상황 - 컴파일시 발생하는 문법적인 에러는 범주에서 제외 - 즉, 문법적인 오류가 아닌 프로그램 논리에 맞지 않는 상황 - 예외처리를 위한 코드와 프로그램의 흐름을 구성하는 코드를 쉽게 구분하기 위해 C++의 예외처리 메커니즘을 이용한다.(가독성과 유지보수성 높이기) 1) 예외의 발생위치 2) 예외의 발견위치 3) 예외의 처리위치 => 모두 위치가 다를 수 있다. - try : 예외발생에 대한 검사의 범위 지정 - catch : try 블록에서 발생한 .. 2020. 8. 18. Ch 13-14. 템플릿(Template) 1, 2 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 템플릿 - 컴파일 타임에 클라이언트가 여러 타입의 함수나 클래스를 쉽게 생성하게 함 - 서버 코드 작성자(프로그래머)는 좀 더 제네릭 프로그램 코드를 만들고, 클라이언트가 구체적인 코드를 작성함으로써 제네릭한 프로그래밍이 가능해짐 - T는 템플릿 매개변수이며 클라이언트에서 결정함 => 템플릿의 인스턴스를 만들어냄 - 템플릿 선언에는 다양한 자료형(기본 자료형 포함) 선언 가능 + 둘 이상의 자료형에 대해도 가능 - 템플릿의 매개변수로 템플릿 매개변수 T 뿐만 아니라, 정수 등의 기본 자료형도 가능 e.g. templat.. 2020. 8. 18. Ch 12. String 클래스의 디자인 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 표준 string 클래스 - 문자열의 처리를 목적으로 정의된 클래스 - 이 클래스의 사용을 위해서는 헤더파일 을 포함해야 함 # 표준 string 클래스의 분석 1) 문자열을 인자로 전달받는 생성자의 정의 string str="I like string class"; /* 동치 */ string str("I like string class"); 2) 생성자, 소멸자, 복사 생성자 그리고 대입 연산자의 정의 - 저장하고자 하는 문자열의 길이가 일정치 않으므로, 문자열의 저장을 위한 메모리 공간을 생성자 내에서 동적 할당해야.. 2020. 8. 17. Ch 11. 연산자 오버로딩 2 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # 대입연산자 오버로딩 - 객체간 대입연산의 비밀 - 대입연산자는 그 성격이 복사생성자와 매우 유사하다. # 복사생성자 1) 정의하지 않으면 디폴트 복사생성자가 삽입됨 2) 디폴트 복사 생성자는 멤버대멤버 복사(얕은 복사)를 진행 3) 생성자 내에서 동적할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야함 # 대입연산자 1) 정의하지 않으면 디폴트 대입생성자가 삽입됨 2) 디폴트 대입 생성자는 멤버대멤버 복사(얕은 복사)를 진행 3) 생성자 내에서 동적할당을 한다면, 그리고 깊은 복사가 필요하다면 직접 정의해야함 .. 2020. 8. 17. 이전 1 2 3 4 5 6 ··· 18 다음