2020 이전 81

Coroutine

코루틴은 비선점형 멀티태스킹을 위해 서브루틴을 일반화한 프로그램 요소입니다. 보통의 함수가 return 되는것에 비해 코루틴은 suspend로 잠시 자신의 작업을 홀드하고 다시 작업이 재개할 수 있으며 이를 위해 다수의 진입 포인트를 허용합니다. 멀티스레드 vs 코루틴:코루틴은 쓰레드가 아니므로 비동기가 아닙니다(동시에 실행되지 않는다). 코루틴은 공유 메모리영역, 공유 자원을 읽거나 변경시키지 않습니다. 유니티에서의 코루틴: 닷넷은 멀티쓰레드를 지원하지만 유니티는 단일 쓰레드로 동작한다. 멀티 스레드를 사용할 경우 교착 상태 경합 등 신경써야할 부분이 많아진다. 코루틴은 스레드를 사용하지 않고 멀티 태스킹을 가능하게 한다. 유니티에서의 Update함수는 1프레임에 한번 호출되는데 매 프레임마다 yiel..

RTTI(Run-Time Type Information)

C++ 표준 라이브러리 : https://www.ibm.com/support/knowledgecenter/en/SSPSQF_9.0.0/com.ibm.xlcpp111.aix.doc/standlib/header_files.html 항상 모든 개념들은 사전적인 의미, 키워드 예시, 경험으로 설명할 수 있어야한다. RTTI는 런타임 타입 인포메이션의 약자로 프로그램 실행 중에 객체의 type이 결정될 수 있도록 하는 메커니즘이며 적어도 한개의 virtual function을 가지고있는 클래스에서만 유효합니다. RTTI에는 세 가지 C++ 언어 요소가 있습니다. dynamic_cast 연산자, typeid 연산자, type_info 클래스가 바로 그것입니다. Dynamic cast는 클래스 hierarchy에서 ..

이펙티브 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