프로그래밍/언어_스크립트36 LOWORD() / HIWORD() ① INT nX = LOWORD( lParam ); INT nY = HIWORD( lParam ); ② INT nX = (INT)(SHORT) LOWORD( lParam ); INT nY = (INT)(SHORT) HIWORD( lParam ); LPARAM 이 마우스 포인트 일 때 위 두개의 문장이 무슨 차이가 있을까? 어차피 상위 16 비트는 y 값, 하위 16 비트는 x값으로 동일 하다. 하지만 SetCapture() 함수와 연결 되었을 때 얘기는 달라진다. 어플의 화면 영역 좌표를 x1, y1, x2, y2라고 할 때 SetCapture 함수가 실행되면 ReleaseCapture 함수가 실행 되기 전까지 마우스가 x1, y1, x2, y2 영역을 벗어나도 메세지를 받을 수 있게 되는데.. 마우스가.. 2010. 10. 14. C++의 멤버 초기화 리스트 1. 아래 리스트의 마지막 클래스를 보면 멤버 초기화 리스트를 사용했는데 base( a, b )의 경우 base 클래스로부터 상속 받은 멤버의 초기화 m_other( a, b )의 경우 other 클래스의 인스턴스인 m_other 변수를 초기화 한 것이다. m_other의 초기화가 정말로 저런식으로 가능할까??? class base { base( int a, int b ); ~base() {} int m_a; int m_b; } base::base( int a, int b ) : m_a(a), m_b(b) { } class other { other( int a, int b ) ~other() {} int m_a; int m_b; } other::other( int a, int b ) : m_a(a), m.. 2010. 9. 27. C++ 에서 구조체 C++ 에서는 구조체를 완전한 하나의 type으로 간주 한다고 한다. 무슨 말인고 하니... struct Data { }; 라고 선언을 해 두면... struct Data sample; 이라고 안하고 Data sample; 이라고만 해도 무방하다..는 말씀~ 2010. 9. 27. C++ 에서 레퍼런스 레퍼런스의 사용법은 int b; int &a = b; 와 같이 어떤 메모리 (변수나 인스턴수가 될듯)를 가르키는 새로운 이름으로 사용된다고 한다. 위 예제에서는 결국 a 와 b가 완전히 동일 한 놈이다. - 포인터의 경우 원본이 있고 이 원본을 가르키는 또 하나의 변수(포인터)가 별도로 존재한다. 어쨌건.. 레퍼런스는 위 예제와 같이 사용해야지 포인터의 선언처럼 int &a; 와 같은 선언은 사용할 수 없다고 한다..............는데... 함수의 인자로 넘길 때는 가능하잖아????? 어찌된 일이지?? 2010. 9. 27. 이전 1 ··· 3 4 5 6 7 8 9 다음