728x90 개발개발55 [C++ 20] Module 🚩사용이유 ▶️ 빌드단계전처리 : include, define 등을 처리하는 단계 컴파일 : 오브젝트 파일 만드는 단계링크 : 만들어진 오브젝트 파일들을 심볼들로 묶어서 연결해주는 단계 ▶️ 기존에 사용하던 방법의 문제점1) 빌드 속도가 너무 느리다.ex) 중복적인 include 사용시 (반복된 substitution) 2) 매크로 (#define)ex) a클래스에 abc라는 매크로에 값을 넣고,b클래스에 abc라는 매크로에 다른 값을 넣은 후,c클래스에서 a와 b를 include한 후, abc를 불러온다면? -> c클래스에 나중에 include된 클래스의 매크로abc의 값을 가져온다. 3) 심볼 중복정의 ex) a클래스 헤더에 구현부까지 만든 함수가 있을 경우c클래스에서 a클래스를 includ.. 2025. 2. 15. [C++20] Concept 🚩 Concept 사용 이유class GameObject{}class Knight : GameObject{}class Orc : GameObject{}class Program{ static void TestObj (T obj) where T : GameObject { } static void Main( string [] args ) { TestObj ( new Knight() ); // TestObj (3); // 사용불가 }}c++의 Concept은 c#의 where절 처럼 템플릿의 형태에 제한을 줄 수 있도록 해주는 문법이다. 🚩Concept 사용하는 방식은 4가지 1️⃣ Requires Clause(절)templaterequires s.. 2025. 2. 14. C++의 역사, C++20의 핵심, 개발환경 🚩C++ 버전별 역사 ▶️뒤에 붙은 숫자는 등장연도를 뜻한다. C++98TemplatesSTLStringI/O StreamC++11MoveUnified InitializationLambdaconstexprMultithreadMemory ModelSmart PointerRegular ExpressionHash Tablestd::arrayC++14Reader-Writer LockGeneric LambdaC++17Fold expressionconstexpr ifStructured BindingParallel AlgorithmFilesystemstd::anystd::optionalstd::variantC++20ConceptModuleRangeCoroutine 🚩C++ 20에서 살펴볼 내용 C++ 20 핵심.. 2025. 2. 13. 연습 - 이동하는 적과 적의 총알 만들기 ✨ 구현목표조건1. 위, 아래로 이동하는 적 만들기. 플레이어와 동일하게 네모로 표현.조건2. 적이 위로 이동 중 최상단에 닿으면 아래로 이동한다.적이 아래로 이동 중 최하단에 닿으면 위로 이동한다.조건3. 1초에 한번씩 플레이어 방향으로 향하는 총알을 발사한다. ✨ 구현 결과 ▶️GameManager.h#pragma once#include "GameInfo.h"class CGameManager{private : static bool mLoop; // 윈도우 HINSTANCE 저장. HINSTANCE mhInst = 0; HWND mhWnd = 0; HDC mhDC = 0; // 윈도우 클래스 이름 저장. TCHAR mClassName[256] = {}; TCHAR mTitle.. 2025. 2. 12. 키 입력, 총알 생성 및 이동처리 ▶️ 키입력 처리하기- GetAsyncKeyState() : 키 입력을 바로 처리할 수 있는 함수입니다.- DX Input보다는 성능이 좋진 않습니다. 거의 비슷하긴 합니다.void CGameManager::Input ( float DeltaTime ){ // GetAsyncKeyState() : 키입력을 바로 처리할 수 있다. // 한개의 문자키는 ' '로 감싸서 입력한다. // &연산으로 0x8000을 하여 true가 나올 경우 해당키를 누르고 있는 상태이다. // 특수키의 경우 이미 등록되어있다 // space의 경우 VK_SPACE를 사용하면 된다. if ( GetAsyncKeyState ( 'W' ) & 0x8000 ) { mRC.Top -= .. 2025. 2. 11. 이전 1 2 3 4 ··· 11 다음 728x90