C++ 프로그래밍14 부록 A. 모던 C++ 기초 모든 내용은 [조슈아 글레이저, 산제이 마드하브 저, "멀티플레이어 게임 프로그래밍", 길벗출판사] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C++11 1. auto 키워드 - 형을 선언하는 자리에 대체해서 넣는 것 - 컴파일러가 컴파일할 때 형을 추론하게 지시하는 문법 - 컴파일시 추론이 이루어지므로, auto를 쓴다고 런타임에 비용이 발생하지는 않음 e.g. // int의 벡터를 선언 std::vector myVect; // auto를 사용해서 begin을 참조하는 반복자를 선언 auto iter=myVect.begin(); - 그러나 int, float를 대체하거나 하는 등, 남용하여 사용하지는 말자 - 단 auto는 기본.. 2020. 8. 21. Ch 16. C++의 형 변환 연산자 모든 내용은 [윤성우 저, "열혈 C++ 프로그래밍", 오렌지미디어] 를 기반으로 제 나름대로 이해하여 정리한 것입니다. 다소 부정확한 내용이 있을수도 있으니 이를 유념하고 봐주세요! # C 스타일의 형 변환 연산자는 C언어의 호환성을 위해 존재하며, 이는 너무 강력하여 잘못된 형 변환을 하여도 컴파일러가 잡아내지 못하는 경우가 있다. # C++의 형 변환 연산자 1) dynamic_cast : 상속관계에서의 안전한 형변환 - dynamic_cast(변환대상) - 유도 클래스의 포인터 및 참조형 데이터를, 기초 클래스의 포인터 및 참조형 데이터로 형 변환하는 경우만 허용한다. 2) static_cast : 상속관계에서 유도 클래스 => 기초 클래스 로의 형 변환 뿐만 아니라(dynamic_cast), 기.. 2020. 8. 18. 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. 이전 1 2 3 4 다음