분류 전체보기(599)
-
[effective STL] 항목 26 : 여러 iterator 중 쓸만한 것은 결국 iterator
총 4개의 iterator를 제공한다. iterator, const_iterator, reverse_iterator, const_reverse_iterator 일종의 T*, const T*, 그리고 head 부터인지 tail 부터인지 차이다. iterator의 변환 관계는 다음과 같다. iterator가 좋은 이유 - 어떤 형태의 insert나 erase 멤버 함수는 무조건 iterator만을 넘겨야 한다. - const_iterator를 iterator로 암묵적 변환할 방법이 없다. 방법이 있지만 성능과 안정성이 보장되지 않는다. - reverse_iterator를 iterator로 변환할 수 있지만 변환 후 약간의 조정이 필요하다. const_iterator와 iterator를 동시에 사용할 시 팁 ..
2016.02.10 -
[effective STL] 항목 24 : map에서 []나 insert는 효율 문제에 주의하자.
1234567891011class Widget {public: Widget(); Widget(double weight); Widget& operator=(double weight); ...}; ... map mW;cs double 값을 이용하여 widget을 초기화 할 수 있다. 이렇게 자료구조가 있을 때 두 가지 정도 작업이 있을 수 있다.1. map에 값을 넣으며 초기화.2. map에 들어가 있는 값을 변경하는 작업. 보통은 둘 다 이렇게 사용한다.1mW[1] = 1.50;cs map의 operator[] 연산자의 특징추가 아니면 갱신(add or update) 기능을 수행하도록 설계되어 있다. 1mW[k] = v;cs 키 값 k가 들어 있는지 점검 -> 그렇지 않다면 k와 v를 페어로 묶어 맵에 새..
2016.02.07 -
[effective STL] 항목 23 : 연관 컨테이너 대신 정렬된 벡터를 쓰는 것이 좋을 때도 있다.
일반적으로 빠른 데이터 검색을 지원하는 자료구조가 필요하면?바로 떠오르는 것은 연관 컨테이너다. 표준 연관 컨테이너는 전형적으로 균형 이진 탐색 트리로 되어있다.삽입, 삭제, 탐색이 아무 때나 이루어질 때 유리한 구조.But, 많은 프로그램들이 실제로 이런 극단적으로 혼란스러운 구조를 가지지 않는다. 대개 프로그램에서 자료구조를 사용하는 3단계1. Setup : 자로 구조를 만든다. 데이터 삽입과 삭제가 대부분이며 탐색은 거의 일어나지 않는다.2. Lookup : 셋업이 끝난 자료 구조 중 원하는 정보를 찾는다.3. Reorganize : 자료 구조의 내용물을 바꾼다. 1과 비슷한 일을 하며 작업이 끝나면 2로 진입한다. 이러한 프로그램이라면 벡터가 연관 컨테이너보다 훨씬 나은 수행성능을 제공할 가능성이..
2016.02.07 -
[effective STL] 항목 22 : set과 multiset의 키를 바꾸지 말자.
map과 multimap에 대한 직접적인 키 변경은 불가능하다.(캐스팅만 하지 않으면)set과 multiset은 그것이 가능하다. set과 multiset 내의 데이터 요소가 const가 아닌 이유일반적으로 표준화 위원회의 의도이다.map 종류는 key만 const면 되고 set은 값이 const가 아니어야 된다는 것. 한 마디로 set은 값 자체 또는 객체 내부의 값이 key 값이 된다.나머지 자료는 언제든 변환이 가능해야 된다. map은 key가 이미 있으므로 value 값의 경우 뭐든 상관 없다. 하지만내 환경에선 set으로 설정하면 STL 차원에서 바로 에러를 리턴해줬다.책에서도 어떤 STL에서는 이 코드를 거부한다더니 내가 사용하는 STL이 이 어떤 STL이었다. 12345// Error// i..
2016.02.07 -
[퍼드] 협력 : 극한 갓 러쉬 초절지옥급
협력 플레이 극한 갓 러쉬 초절지옥급을 클리어했다.최근에 추가 된 협력 플레인데 친동생과 내가 퍼드를 몇 년을 같이 했기 때문에 정말 좋은 컨텐츠라고 생각한다. 우선 협력 플레이를 이해하면플레이 방식 : 한 번씩 번갈아 가며 플레이 한다. 상대 방이 드롭을 맞추는 것도 실시간으로 볼 수 있다.체력 : 두 개인 파티의 체력. 상대 리더를 제외한 내 팀 구성의 체력을 합치면 된다.체력은 나름 여유가 있으므로 회복력을 살짝 챙겨간다. 리더 액티브 : 서로 공유되어 있는 형태로 한 플레이어가 사용하면 다른 플레이어는 사용할 수 없다.여러턴인 액티브 : 여러턴인 액티브 스킬인 경우(스사노오 뎀감, 손권 인헨스) 다음 플레이어에게도 적용된다. 협력 플레이는 일단 엄청나게 재밌다.항상 혼자만의 게임이던 퍼드가 서로 ..
2016.02.06 -
[Steam] 툼 레이더 : Baba Yaga DLC
DLC서브 스토리가 엄청나게 재밌다! baba yaga!!DLC를 모두 구매한 버전이기 때문에 바바야가 마녀 스토리가 가능하다.분홍색 표시로 "나를 클리어 해주세요"라고 애원하길래 한번 깨줬다. 초반 진입때 설원이 난무하는 곳에서 갑자기 꽃가루가! 해골들 깔딱거리는게 굉장히 무섭다. 부들부들.. 마녀와의 칼날같은 만남을 뒤로 하고 나디아와 정보를 수집하러 다시 계곡을 나온다. 살짝 공략자세한 내용은 스포가 있으니 생략하고 정말 그지같았던 밧줄 미션을 간단히 공략하면 1. 원과 별을 이어 도르래를 돌리면 왼쪽 발판이 내려간다.2. 도르래를 놓으면 다시 오른쪽 발판이 서서히 내려가는데 이때 아래 스샷과 같이 별과 음표를 이어주면 된다. 3. 발판을 밟고 위로 올라가면 다른 도르래가 있는데 아래 스샷과 같이 ..
2016.02.03