본문 바로가기
반응형

분류 전체보기95

BYTE asciiKeys[KEY_TYPE_COUNT], GetKeyboardState(asciiKeys) 윈도우에서 키보드 셋팅 이 코드는 C++에서 Windows API를 사용하여 현재 키보드 상태를 가져오는 부분을 보여줍니다. 여기서 BYTE asciiKeys[KEY_TYPE_COUNT] = {};와 ::GetKeyboardState(asciiKeys)가 어떤 역할을 하는지 설명드리겠습니다.코드 분석BYTE asciiKeys[KEY_TYPE_COUNT] = {};:BYTE는 unsigned char의 동의어로, 8비트 부호 없는 정수를 나타냅니다.asciiKeys는 키보드 상태를 저장할 배열로, 크기는 KEY_TYPE_COUNT만큼 할당됩니다. 이 크기는 모든 키에 대해 상태를 저장하기에 충분한 크기여야 하며, 일반적으로 256입니다(모든 가상 키 코드를 포함할 수 있는 크기).= {}는 배열을 0으로 초기화하는 구문입니다.:.. 2024. 8. 19.
0xffui8 의 의미 0xffui8은 C++에서 특정 타입의 정수 리터럴을 나타내기 위한 표기법입니다. 이 표현은 주로 C++20 표준에서 사용됩니다.의미0xff: 16진수 리터럴입니다. 0x는 16진수 리터럴임을 나타내며, ff는 16진수로 255를 의미합니다.u:u는 리터럴을 unsigned int 타입으로 지정하는 접미사입니다.i8:i8는 C++20에서 추가된 std::int8_t 타입(8비트 부호 있는 정수)로 변환하는 것을 나타냅니다. 하지만 여기서 ui8는 std::uint8_t 타입(8비트 부호 없는 정수)로 변환하는 의미로 해석됩니다.결론0xffui8는 C++20 표준에서 0xff라는 16진수 리터럴을 8비트 부호 없는 정수(std::uint8_t) 타입으로 변환한 값을 의미합니다. 따라서 0xffui8는 ui.. 2024. 8. 19.
C++에서 explicit C++에서 explicit 키워드는 생성자(constructor) 또는 변환 연산자(conversion operator)에 적용되어 암시적(implicit) 변환을 방지하는 데 사용됩니다. explicit 키워드를 사용하면 특정 상황에서 자동으로 발생할 수 있는 잘못된 변환을 방지하여 코드의 안전성과 명확성을 높일 수 있습니다.예시암시적 변환다음과 같은 클래스가 있다고 가정해 봅시다.class MyClass {public: MyClass(int x) { /*...*/ }};위와 같은 클래스가 있을 때, 다음과 같은 코드가 가능해집니다.MyClass obj = 10; // 암시적 변환위 코드는 int 타입의 값을 MyClass 객체로 암시적으로 변환합니다.explicit 사용위와 같은 암시적 변환을 .. 2024. 7. 29.
인텔리제이 디버깅시 단축키 디버깅 시작/종료디버깅 시작: Shift + F9애플리케이션 재시작: Ctrl + F5디버깅 종료: Shift + F2디버깅 컨트롤다음 행으로 이동 (Step Over): F8메서드 안으로 진입 (Step Into): F7현재 메서드에서 나가기 (Step Out): Shift + F8다음 브레이크포인트로 이동 (Resume Program): F9포커스 된 코드 라인 실행 (Run to Cursor): Alt + F9기타 디버깅 단축키브레이크포인트 추가/제거: Ctrl + F8디버그 창 활성화/비활성화: Alt + 5변수 보기 (Evaluate Expression): Alt + F8프레임 드롭: Ctrl + Alt + F8디버그 창에서 다음 프레임으로 이동: Alt + F8 (디버그 창에서)디버깅 시 유용.. 2024. 6. 22.
반응형