목록전체 글 (91)
정체불명의 모모
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ZvMe8/btrga3vwTOR/SwOT2WMN15nPjIdCgThIZ0/img.png)
이번 장은 '반복자'에 대해 알아보는 시간입니다. 총 4가지의 반복자에 대해 알아보져! 그리고 컨테이너와 그 컨테이너의 멤버 함수의 관계도 알아 볼겁니다. 그럼... Start! const_iterator나 reverse_iterator, const_reverse_iterator도 좋지만 역시 쓸만한 것은 iterator이다. 위의 내용을 파악하기 전에 iterator 종류에 대해 알아 보자 iterator의 종류(T-> template) iterator T* const_iterator const T* reverse_iterator 역방향 T* const_reverse_iterator 역방향 const T* Iterator에서의 const 키워드의 의미 : STL 반복자(iterator)는 포인터를 본떠..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXDEET/btrfaqKPkRT/Au04Dh0F2QeNYQQ7zRYrj0/img.png)
또! 새로운 캐스트가 나타났습니다. 도대체 컴퓨터 언어 문법(?)의 다양함은 말로 이룰 수가 없네요 오늘도 그저 정리 할 뿐..... 머리에 박고 갑시다!!!! reinterpret_cast란? reinterpret_cast(expression); type_id : 바꿀 타입 / expression : 대상 : 포인터가 다른 포인터 형식으로 변환될 수 있도록 합니다. 또한 정수 계열 형식이 포인터 형식으로 변환될 수 있도록 하고 그 반대로도 변환될 수 있도록 합니다. 포인터-> 포인터 포인터 -> 일반 변수 일반변수 -> 포인터 자료형 -> 다른 자료형 reinterpret_cast는 형변환이 이뤄지게 되면 해당 자료형의 bit수에 맞게 들어가게 됩니다. 이 캐스팅은 (void*) 로도 전달이 가능하기 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b7QGfs/btre5OscXvh/PnROxVmGltYKxkzGgjyuV0/img.png)
오늘은 멀티쓰레드 관련한 내용을 또 가져왔습니다. 역시 게임 개발에 멀티쓰레드가 빠질 수 없군요... 처음 들어보는 Condition Variable 리눅스에서 사용되는 개념인듯 합니다. 유튜브 강의를 찾아봐도 죄다 어째 영어 강의 밖에 없어서 어찌할 바를 모르던 차에... 친절한 분들이 열심히 정리한걸 바탕으로 오늘 포스팅을 하고 이해 해보려 합니다. Let's go~ Condition Variable(조건 변수)이란? : Condition Variable 은 특정 조건을 만족하기를 기다리는 변수라는 의미입니다. 따라서 이를 이용하여 주로 thread간의 신호 전달을 위해 사용한다. 하나의 thread가 watiting 중이면 조건을 만족한 thread에서 변수를 바꾸고 signaling 을 통해 깨우..
회사 프로젝트의 멀티 쓰레드쪽 보다 모르는 부분이 있어 정리해 본다. (난...멀티쓰레드는 한번도 해본적이 없어서... 개념은 알아도 구조 파악이 잘 되지 않는다.) 리눅스에서 c 언어를 통해 멀티쓰레드를 구현할 때 pthread를 이용하여 구현하게 됩니다. 변수이름, NULL); : 기본 특성으로 변수를 메인에서 선언하는 모습입니다. 쓰레드가 여러개 일때 mutex 구문에 대한 정보를 서로 공유해야 하기 때문에 main문에 주로 작성됩니다. pthread_mutex_lock(&구조체->변수이름); : 크리티컬 세션에 접근하기 위해 쓰레드 내에서 사용하는 구문입니다. pthread_mutex_unlock(&구조체->변수이름); : 크리티컬 세션에서 빠져 나오기 위해 쓰레드 내에서 사용하는 구문입니다. 예..