이상해씨++ 89

이펙티브 C++ 챕터 4 설계 및 선언

캡슐화: 외부에서 볼 수 없다는 것. 캡슐화 할때 밖에서 볼 수 있는 것이 줄어들고, 그것들을 바꿀때 필요한 유연성이 커짐. 캡슐화된 데이터 멤버를 참조하는 인터페이스는 그대로 가져가면서 데이터 멤버한 수정하면 되니까! 또는 코드를 바꿔도 제한된 사용자(해당 데이터/함수)들 외에는 영향을 주지않는 융통성. C++ 인터페이스 설계 제대로 쓰기에는 쉽게 엉터리로 쓰기에는 어렵게. 18. 인터페이스 설계는 제대로 쓰기에는 쉽게, 엉터리로 쓰기에는 어렵게 함수, 템플릿, 클래스도 인터페이스다. 사용자가 저지를 수 있는 실수를 항상 생각해야한다. 19. 클래스 설계는 type 설계와 똑같이 취급하라. 1) 타입의 객체 생성 및 소멸은 어떻게 이루어질 것인가? 2) 객체의 초기화와 객체의 대입은 어떻게 달라야 하는..

2020 이전/C++ 2018.10.31

Win api32 1일차

콘솔에서의 시작 포인트 : mainwindow에서의 시작 포인트: WIN MAIN #define WINAPI __stdcall #define WINAPIV __cdecl #define APIENTRY WINAPI int APIENTRY wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow) 오보에떼~ 이마스까~ 뇌자극 sp 챕10 section 4에 나옴함수 호출시 인자를 전달하는 방법과 stack frame을 반환하는 방식을 약속 해놓은 것을 가리켜 함수 호출 규약 __stdcall : 오른쪽부터 전달되는 이자가 먼저 스택에 쌓이고 반환시 호출된 함수가 stac..

2020 이전/Win API 2018.10.29

이펙티브 C++ 챕터3 자원관리 (1회차)

boost 스마트 포인터 : https://blog.naver.com/sorkelf/40132656978 auto_ptr : https://wikidocs.net/684 스마트 포인터 : https://msdn.microsoft.com/ko-kr/library/hh279674.aspx c++ 진화 : https://msdn.microsoft.com/ko-kr/library/hh279654.aspx 자원관리 원칙: 메모리를 가져와서 썼으면 반드시 해제 해야한다. C++가 지원하는 생성자, 소멸자, 객체복사 함수 등을 이용한다. 13. 자원관리에는 객체가 그만 - 자원을 객체에 넣고 그 메모리 해제를 소멸자가 맡도록 한다. - auto_ptr : 스마트 포인터(가리키는 대상에 대해 소멸자가 자동으로 dele..

2020 이전/C++ 2018.10.29

test

값의 의한 전달에 숨겨진 효율문제를 알아챈 프로그래머들 중에, 기존의 코드에 멀쩡하게 들어 있는 값의 의한 전달 부분이 갑자기 꼬물거리는 좀벌레로 보이면서 이것들을 척살하지 못해 몸살이난 평화유지군으로 돌변하는 풋내기 프로그래머들이 좀비처럼 도처에서 암야갛는 현상을 목도하곤 합니다. 모든 코드는 오직 '참조에 의한 전달'만으로 아롱져 빛나지 않으면 안 된다는 신념이 영장류의 한계를 넘은 나머지, 이들은 안타깝게도 주화입마에 빠지고 맙니다. 실제로 있지도 않는 객체의 참조자를 넘기기 시작하는 거죠. 강제종료 : http://www.digipine.com/index.php?mid=windowsmfc&document_srl=341특정프로그램 종료: http://egloos.zum.com/swain/v/2291..

2020 이전/Win API 2018.10.26