포인터(Pointer)와 레퍼런스(Reference)
2021. 3. 1. 19:28
DevLog/C & C++
포인터와 레퍼런스 포인터 레퍼런스 표현 * & 의미 메모리 주소를 가리킨다 값에 직접 접근하는 주소 변수 접근시 나타나는 값 가리키는 주소가 가진 변수의 값 변수의 내용이 저장된 메모리 주소값 상수 참조 X X NULL 초기화 가능 여부 O X 초기화 객체(변수)의 주소값을 입력받음 객체(변수)를 직접 입력받음 초기화 여부 꼭 하지 않아도 됨 반드시 해야함 (나중에 값을 바꿀 수 없기 때문에) 초기화 이후 다른 변수 참조 가능 다른 변수 참조 불가능 특징 메모리 공간을 할당함, 포인터가 가리키는 주소의 크기는 자료형이 무엇이든 간에 항상 같다. 메모리 공간이 할당되는 것이 아님. 이미 선언된 변수를 다른 이름으로 부르는 것 포인터와 레퍼런스가 생긴 계기 입력값을 받는 함수의 변수가 값을 복사한다. 항상 ..
디버그 모드와 릴리즈 모드의 차이점
2021. 3. 1. 18:27
DevLog
디버그 모드(Debug Mode) 실행파일에 디버깅 정보를 포함 실행파일 상태 정보 확인 가능 디버깅 정보를 포함하였기 때문에 속도가 릴리즈모드에 비해 느리다. 릴리즈 모드(Release Mode) 코드를 최적화하여 실행파일의 크기를 최대한 줄인다. 속도가 디버그 모드에 비해 빠르고, 파일의 크기가 비교적 적다. 메모리 점유율이 낮음 초기화가 이루어지지 않는다. 디버그 모드와 릴리즈 모드의 차이점 일단 큰 차이는 디버깅 정보가 실행코드에 포함 되냐 안되냐의 차이가 있다. 따라서 소스의 크기가 다르고, 속도의 차이를 갖는다. 실행파일 크기의 경우 3~4배 정도의 차이가 있다. 디버그 모드와 릴리즈 모드를 각각 실행했을때 둘중 하나가 정상적으로 실행되지 않는 경우는 프로그램 상에 문제가 있다는 것이다. 따라..
언리얼엔진4 게임플레이 파이프라인
2021. 3. 1. 18:15
DevLog/Unreal Engine
게임플레이 파이프라인 여기서 보여드리는 방법은 크게 두 가지, 에디터 방법과 독립형 방법입니다. 일반적인 이벤트 순서는, 엔진을 초기화시키고, GameInstance를 생성 및 초기화한 뒤, 레벨을 로드하고, 마지막으로 플레이를 시작합니다. 하지만 독립형 모드와 에디터 모드 사이의 차이점이 있는데, 일부 함수가 호출되는 정확한 순서와, 어떤 함수가 호출되는지가 다릅니다. 아래 플로우 차트는 두 방법으로 병렬 실행했을 때 게임 시작 전 수렴할 때까지의 흐름을 보여줍니다. 독립형(StandAlone) 독립형 모드는, 에디터 외부에서 플레이하는 게임 모드로, 시작시 엔진 초기화에 이어 바로 게임 플레이에 필요한 오브젝트가 생성 및 초기화됩니다. GameInstance와 같은 오브젝트는 (Engine 생성 및 ..
알고리즘 시간복잡도와 Big-O 쉽게 이해하기
2021. 2. 24. 15:01
DevLog/Algorithm
삼성역에서 택시를 타고 강남역으로 향했는데 30분 걸렸다. 구글에서 알려주는 최단경로로 갔더라면 15분내에 도착할 것이다. 레스토랑을 예약해서 가는 경우라던지 친구와 약속 시간을 잡은 경우 우리에게는 시간은 항상 소중하다. 그래서 우리는 시간을 효율적으로 사용하기위한 노력을 의식적으로 하고 있다. 컴퓨터 프로그래밍에서도 시간복잡도가 가장 낮은 알고리즘을 채택해 이러한 상황을 개선하고 있다. 택시를 타고 삼성역까지 가는 절차를 알고리즘이라고 하는데 이때 수행하는 연산의 수를 시간복잡도로 나타낸다. 택시를 타고 강남역까지 가는 과정을 알고리즘으로 표현하면 아래와 같다. function TakeTaxy(from, to) { /* 1. 차량에 탑승한다. 2. from에서 to까지 최단거리 루트를 선택한다. 3...
UE4 UMG, HUD, Slate
2021. 2. 21. 15:24
DevLog/Unreal Engine
UE4에서의 UI를 구성하기 위한 프레임워크 UMG(Unreal Motion Graphic) HUD(Head Up Display) Sloat Framework UI(User Inteface)란? 유저 인터페이스는 메뉴와 상호작용형 요소를 말합니다. 이러한 요소는 보통 HUD와 매우 흡사하게 화면상에서 그려지지만, 특정 상황에서는 월드의 표면위에 랜더링되는 게임 월드 자체의 일부가 되기도 합니다. UI의 가장 명확한 예는 게임 시작시 표시되는 메인 메뉴나, 플레이어가 게임을 일시정지시킬 때 뜨는 메뉴입니다. 그 외에도 플레이 도중 다른 UI가 표시 될 수도 있습니다. 이를 통해 게임 내 캐릭터간의 대화를 표시할 수도 있고, RTS나 RPG처럼 좀 더 복잡한 상황에서는 플레이어의 무기, 갑옷, 빌드할 유닛 ..