전체 글 검색 결과
이유 1. malloc과 free는 생성자와 소멸자의 존재자체를 모른다(호출 자체를 안해준다.) 2. 1번의 문제로, 메모리릭 발생 위험이 따른다.(사용자가 간과했다간) 3. 1번의 문제로, 초기화 작업을 부수적으로 해야 한다. 4. 1번의 문제로 , 가독성을 떨어뜨릴수 있다(new와 malloc의 혼용 사용으로) 해결방법 1. 혼용 사용을 왠만해선 하지 마라 2. new와 delete를 사용 해라
이유. 1. C++ 방식에선 iostream 이 더 이식성이 좋고. 편하다. - C++은 객체지향적 설계가 가능하기 때문에 stdio.h는 사용상의 불편이 따른다. 예) class나 struct의 경우 스트림 입출력시 printf나 scanf는 불편하다. 해결방법. 1. #include 된 것을 으로 바꾸어라. 2. operator > 를 정의해서 사용해라(struct나 class 사용시) 덧붙여 1. iostream.h 와 iostream 은 다른것이기에 iostream을 사용해라.
이유 1. #define은 전처리기에서 작업하기 때문에 컴파일러가 모르게 된다. 2. 1번의 사항으로 이식성이 떨어지게 된다. 3. 1번의 사항으로 다른 파일의 헤더파일로 들어가면, 이것으로 인한 디버깅이 어려워진다. 4. 매크로함수의 버그 찾기가 어려워진다. 해결방법 변수 하나 더 주고, const를 사용 해라. 해결방법의 주의점 두가지 1. 상수 포인터를 정의할 때, - const char* const authorName = "Scoot Meyers"; 식으로 어떤 변경도 못하게 해라. 2. 클래스 범위안에서의 상수일때 - static const int NUM_TURNS=5; // 클래스 내부 private에다가 선언 이렇게 하면, 클래스의 전역구역(?)에 1개만 올라가서 클래스 내부에서만 접근 가능..
내 수준으로 조금 벅차다. 왜냐하면 읽는 도중 "3판이 나왔는데, 3판을 볼까?" 란 생각으로 집중력이 흐트러진다. 집중을 할수 없을 정도의 어려움이 따른다. .. 이럴때는 예전에 만들었던 알고리즘을 적용해 하나씩 공략해 나간다. 이 방법은 수능때 썼었고 나름데로 쓸만했고, 마음이 편했고 필요한 집중만 할수 있었다. 그래서 이번 Effectve C++ 의 테스크를 하나 만든다. ㅋㅋ #include const int YES = 1; const int NO = 0; BOOL IsAllRead(BOOK& _BOOK) { return _BOOK; } knowledge Algorithm(BOOK& _BOOK) { IsUndersand(IsDoRead(_BOOK))) { --_BOOK; } if(YES == Do..
소프트웨어 아키텍처란 소프트웨어 설계의 총괄적인 부분이면서 세부 사항을 포함하고 있는 틀이라고 필자는 정의한다. http://www.ibm.com/developerworks/kr/library/feb06/eeles/index.html (설명이 부족하여 링크를 첨부 한다, 우선 아키텍처란 구조이며, 이 구조는 다른 구조와의 연결이고, 이 관계이다, 소프트웨어 아키텍처란 각각의 시스템이고 이 시스템의 연결관계.. 뭐 구조이다.. 사실 정확하게 아키텍처에 대해서 정의하기 보다는, 세부 설계를 하기전 전체적인 틀이라고 생각된다.) 프로그램 구조 수천 개의 세목들이나 수 십 개의 모듈로부터 그림을 그린다면, 힘들지만, 이런것을 전체적인 틀을 만들고, 연관을 생각하며 그린다면 보다 편할것이다. (물론 .. 이것도 ..
최근댓글