관련 링크 : http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx Virtual-Key Codes The following table shows the symbolic constant names, hexadecimal values, and mouse or keyboard equivalents for the virtual-key codes used by the system. The codes are listed in numeric order. ConstantsVK_LBUTTON (0x01)Left mouse buttonVK_RBUTTON (0x02)Right mouse buttonVK_CANCEL (0x03)Control-break processin..
2008/07 검색 결과
항목 34 에서 가상 함수의 단점을 지적한 부분이 책에는 있는데, 나 같은 경우 생략했다. ^^; 단점은 가상함수는 기본 정의도 제공되기 때문에, 제공된 기본정의를 사용하다보면, 정작 다른 작동을 해야 할 때도 재정의를 해야 한다는것을 까먹고, 기본정의를 사용하여 디버깅이 아주 힘들수 있다는 점이다. 이것을 애초에 막고자 하려면 가상 함수를 대채할 무엇인가가 필요하다는 주제로 쓰여진 항목 35 이다. 자~ 이러한 단점들이 있음에도 가상 함수를 사용 한다는것을 찜찜해 하는 영리한 사람들은 생각하기 시작했다. "대체 할 수 있는게 없을까?" 필자는 두 팔을 다 걷어, 다른 방법을 몇가지 알려 준다고, 곽용재씨께서 말씀해 주셨다. ㅋ; 하나, 비가상 인터페이스 관용구(non-virtual interface :..
보통의 경우 메모리 할당은 new 나 malloc 으로 처리 한다. 하지만 좀더 상세하게 작동하고자 할 경우 할당자를 사용 한다고 하니, ... 일단 짚고 넘어가야겠다. 할당자(allocator)를 찾아봐도, 1. operator new 나 operator new[] 와 마찬가지로 메모리 할당과 해체를 해 주는 객체이다 2. 하지만 그 사용 방법이 전혀 다르다 3. 할당자에서 정의된 메모리의 모델의 포인터와 참조자에 typedef를 제공해야 한다. 4. 같은 타입의 할당자 객체는 동등하고, 상등 비교를 수행 한다. (같은 타입의 할당자는 똑같다는 말로 해석 됨) 5. 할당자는 상태를 갖지 않는다. (비정적(non-static) 데이터 멤버를 전혀 가지지 않는다.) 5번 사항으로 인하여, STL은 두 개의..
"항목 2를 보면 독립적인 코드는 환상일 뿐이다" 라고 말하고 있듯이, 컨테이너 마다 원소 삭제 방법이 다르다. Sequence Containers 와 Associative Containers 의 차이점이 있으니, Effective 하게 사용 하라는 이야기이다. 정리하자면 총 3가지의 지우는 방법이 있다. 첫째, Container 속의 특정값을 가진 원소를 지우고자 할 때 Sequence Containers 의 경우, erase-remove 합성문이 제일 효율적 이다. // 코드 1-1 #include #include #include int main(void) { typedef std::vector ccc; ccc vecHaha; vecHaha.push_back(1963); vecHaha.push_bac..
최근댓글