@ 16. 1 ~ 17. 1/C++
-
예외처리@ 16. 1 ~ 17. 1/C++ 2015. 3. 28. 23:32
익셉션은 두 부분으로 구성된다. 익셉션을 처리하기 위한 try / catch 부분 익셉션을 발생시키기 위한 throw 부분 (익셉션이 동작하려면 이 부분이 존재해야만 한다.) try { throw //익셉션이 발생할 코드 } catch (exceptio-type1 exception-name) { // type1 익셉션을 받아서 처리할 코드 } //익셉션이 발생하지 않으면 실행되는 코드 예) void g() { throw 2; } void f() { try { g(); } catch (int i) { cout
-
전문가를 위한 C++ 정리(1)@ 16. 1 ~ 17. 1/C++ 2015. 3. 28. 18:40
전문가를 위한 C++. 1 저자 마크 그레고리, 니콜라스 솔터, 스캇 클레퍼 지음 출판사 한빛미디어 | 2013-10-01 출간 카테고리 컴퓨터/IT 책소개 더 쉽게, 더 빠르게, 더 깔끔하게 프로그래머가 알아야 할 C+... 글쓴이 평점 책을 정독하면서 까먹거나 자주 잊는것에 대해 정리..쉽게 아주 쉽게.. 1. auto 자료형 auto형은 컴파일러에 의해 자동으로 타입이 정해지는 타입 2. enum class enum class 이름 { } 이런식으로 사용을 하는데..class와 같다 그런데 기존 enum과 다른점은 엄격한 상태라 일반 정수타입변수로 캐스팅이 안되고 비교도 안된다. 3. 구간 지정 for루프 대상 : 배열과 반복자를 리턴하는 begin() end()함수를 멤버로 가진 데이터 타입(ST..
-
함수 포인터 배열@ 16. 1 ~ 17. 1/C++ 2014. 10. 27. 22:24
#include #include #include"SparseGraph.h" #include using namespace std; double Exponent(double a, double b) { return pow(a,b); } double Multiply(double a, double b) { return a*b; } double Divide(double a, double b) { return a/b; } int main() { double (*f[])(double,double)={Exponent, Multiply, Divide}; //함수 포인터 배열 double a=5, b=2; int i=0; cout
-
원형패턴..(개인적 정리 ebook!)@ 16. 1 ~ 17. 1/C++ 2014. 9. 2. 22:07
원형 패턴은 미리 만들어진 개체를 복사하여 개체를 생성하는 패턴을 말합니다. (이때 미리 만들어진 개체를 원형 개체라 부릅니다.) 일반화 관계(상속)으로 표현할 때 파생 클래스의 개수가 과도히 많아지고 클래스의 메서드에서 수행하는 알고리즘에 차이가 없으면서 생성 시에 개체의 속성 값만 다르다면 원형 패턴을 사용하는 것이 효과적입니다. #include #include #include #include using namespace std; //기본중의 기본렌즈 생성 즉, 모형 줌렌즈(원형개체) class ZoomLens { //렌즈의 수치 const int min_zoomlevel; const int max_zoomlevel; int zoomlevel; const int min_focus; const int ..
-
팩토리 메소드 패턴..(개인적 정리..ebook)@ 16. 1 ~ 17. 1/C++ 2014. 9. 1. 23:08
프로그래밍하다 보면 같은 방법으로 사용할 수 있는 여러종류의 개체를 일반화하여 기반 클래스를 정의하고 이를 기반으로 파생클래스로 정의하는 것은 매우 흔하다. 이경우에 사용하는 곳에서 구체적으로 어떠한 개체를 생성해서 사용할지에 대하여 개발 초기단께에서 결정할 수 없다면 어떻게 하면 좋을까? (그러니까 mmorpg를 예로..처음시작이 렙 1 뼉다귀로 시작하잖냐..?그래서 옷입히고 ..무기얻고..첨부터 무기있고 옷있는걸 어떻게 생각해?) 이 해결책은 바로 팩토리 메서드 패턴을 이용하는 것이다. 추상 팩토리 클래스에서는 사용할 개체(추상 클래스)를 생성하는 것에 대해 약속만 합니다. 대신 파생 팩토리 클래스에서 구체적으로 어떠한 개체를 생성할 것인지 구현합니다. (이전의 dayfactory에서 약속은 하는데...
-
추상 팩토리 패턴...(개인적정리 ebook 참고)@ 16. 1 ~ 17. 1/C++ 2014. 9. 1. 21:30
프로그래밍하다 보면 특정 목적에 따라 사용해야 하는 개체들이 서로 호환성이 있어야 하는 경우가 발생합니다. (카메라, 렌즈가 ev용 ho용으로 나뉘니까..ev는 ev대로 호환성이 ho는 ho대로 호환성이 되어야한다..정리의 개념) 목적에 따라 사용해야 하는 개체군이 다른 경우에 특정 목적에 맞게 호환성있는 개체가 무엇인지를 조사하고 주의 깊게 사용하는 비용이 발생합니다. (만약 정리가 안되었다면..ev용 ho용 하나씩 고르고 선별하고 해야하는데..직접테스트 처럼 사용이 안되는 경우가 발생..) 이럴때 추상 팩토리 패턴을 사용하는데...특히 특정 작업을 구현할때 호환성이 있는 여러개체를 사용해야 한다면 추상 팩토리 패턴을 사용한다.. (여기서 여러개체는 ev카메라 ev렌즈, ho 카메라 ho렌즈 를 이야기..