일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- enumasByue
- 스마트포인터
- map
- UELOG
- unorder_map
- UE_LOG
- 애셋로드
- 데이터애셋
- 약참조
- 강참조
- C++
- 자료구조
- 구조적 바인딩
- 프로그래머스
- moreeffectiveC++
- UE4 커스텀로그
- 람다
- stl
- 크리티컬섹션
- 알고리즘
- 정렬알고리즘
- 정렬
- C++최적화
- 선택정렬
- BFS
- 람다사용정렬
- UML관련
- 델리게이트
- dataasset
- 언리얼가비지컬렉터
- Today
- Total
목록Note (425)
기억을 위한 기록들
생성자와 소멸자 생성자 - 생성자는 객체가 생성되면 자동으로 호출. - 생성자가 정의되어 있지 않으면 컴팡일러는 기본 생성자라고 불리는 생성자를 자동으로 만든다. - 클래스 기본 변수를 초기화하고 싶을때는 실제 객체가 만들어 ㅈ지기전, 생성자 코드의 나머지 부분이 실행되기 전에 값을 할당. ( 상수 혹은 클래스형 필드를 초기화 할때 유용 소멸자 - 객체가 소멸될 때 자동으로 호출. 객체를 삭제하는 작업을 담당. - 인자를 전달할 수 없다.(명시적으로 호출 할 수 있는 메서드가 아니므로) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 가상함수 ex) class Person{ ... void aboutMe(){ cout

itch.io/jam/2020-epic-megajam 2020 Epic MegaJam A game jam from 2020-12-04 to 2021-01-28 hosted by Unreal Engine. Work alone or with a team (up to 5 members total) to make the most incredible project in Unreal Engine 4 based on the given theme and submit before th itch.io 우선 게임잼이란걸 예전부터 들어오긴 했지만, 참여한건 처음이다. 참여하면서 느꼈던 점들을 그냥 써보자면, 혼자 하려다보니 생각보다 신경쓸게 많았고 골치 아팠다. 우선 기본적인 캐릭터/배경 모델링은 마켓플레이스에서 구매했다 ...
#include #include using namespace std; int ans=0; void dfs(vector numbers, int target, int sum, int idx){ if(idx >= numbers.size()){ if(sum==target) ans++; return ; } dfs(numbers, target, sum+numbers[idx], idx+1); dfs(numbers, target, sum-numbers[idx], idx+1); } int solution(vector numbers, int target) { dfs(numbers, target, 0,0); return ans; }

이번엔 링크드 리스트다. 장점: - 새로운 노드의 추가/삽입/삭제 쉽고 빠름( 배열은 요소를 삽입하거나 제거하기 어렵) 단점 : - 다음 노드를 가리키려는 포인터 때문에 각 노드마다 4바이트의 메모리가 추가로 필요. - 특정 위치에 있는 노드를 얻는데 드는 비용이 크며, 속도도 느리다. 링크드리스트의 필요한 기본 연산은 5가지 - 노드생성/소멸 - 노드 추가 - 노드 탐색 - 노드 삭제 - 노드 삽입 코드 : #include using namespace std; template class Node { public: Node() {}; Node(T _data) :data(_data) {} ~Node() {}; T data; //현재 노드에 있는 데이터 Node * next; //현재 노드의 다음 노드를 가..

Least Recently Used 알고리즘이란? - 가장 오랫동안 참조되지 않은 페이지를 교체하는 기법 - 컴퓨터의 자원은 한정적이며, 한도내에서 최고의 효율을 얻기 위해 여러 알고리즘이 존재, 그 중에 하나. (FIFO,OPT,LRU,LFU,MFU 등등..) 방법 첫번째 : 페이지에 저장 된 데이터가 언제 사용되었는지를 알 수 있게하는 부분을 구현해서 제일 오랫동안 참조되지 않는 데이터를 제거 하는 방법. 두번째 : 페이지에 데이터를 큐 형식으로 저장하는 방식. 페이지내에 데이터가 존재한다면 데이터를 페이지 내에서 제거하고 맨 위로 다시 올리고, 존재하지 않는다면, 바로 입력하여 맨 아래에 있는 데이터를 삭제하는 과정을 진행. 예제 그림 위 그림에서 7번, 9번같은 상황은 참조하는 값이 이미 페이지에..

이런 표가 머릿속에서 저절로 떠오르면 참 좋을텐데... 아래 사이트에서 직접 해볼 수 있다. www.toptal.com/developers/sorting-algorithms Sorting Algorithms Animations Animation, code, analysis, and discussion of 8 sorting algorithms on 4 initial conditions. www.toptal.com
www.youtube.com/watch?v=AfmoNJ84J6k&ab_channel=Hyo www.youtube.com/watch?v=cIJCocOo3fo&ab_channel=Hyo

www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 위 문제를 풀어보다가 redcoder.tistory.com/48 [C++] 소수 구하기 (에라토스테네스의 체) 보통 소수라 하면, 1과 자기자신을 제외하고는 나누어 떨어지지 않는 수라고 불린다. 이를 구하기 위해서 하나 하나씩 나누어 떨어지는 지 검사를 하고는 했는데 더 빠르게 구할 수 있는 방법이 redcoder.tistory.com 를 참고했다. #include #include #include using namespace std; int ..

공부를 하기 위해 책을 구하다보면 절판 된 책들이 많이 있다. 이렇게 2019년을 끝으로 절판 확인이 된 책이 있는데 중고로 구해보려 했으나 원가가 23000원인데 왜 중고가격이 두배 가까이 되는 건가!!! @##$%^ 그러다가 주변 천사가 알려 준 방법이 있다... 바로바로 www.nanet.go.kr/main.do 국회도서관 초대합니다. 국민여러분! www.nanet.go.kr 바로 국회 도서관이다. 여기서 이제 찾는 책을 검색 해본다. 지은이와 출판일이 같다. 표지를 눌러서 확인해도 같다. 이제 이 책의 복사본을 구매 해 받을 수 있다. 우편복사를 신청해준다. 그리고 해당 창에 알맞게 입력해주고 연락을 기다리면 된다. 한 이틀이 지나고 문자가 왔다. 이렇게 오고 해당 계좌로 금액을 보내주고 기다리면..

혼자 뭘 좀 찾아보다가 발견한 C++로 만들어진 액터 컴포넌트를 블루프린트 상에서 호출하기 위한 방법이다. 여기서 내가 만든 UBulletBaseComponent의 UClass(...)안에 해당과 같은 파라미터가 들어있다면, "Bullet Base Component 추가"와 같이 블루프린트에서 노드상으로 동적 호출 추가가 가능하다. 그러나, 아래 BulletBaseComponent를 상속받은 UPlayerBulletComponent 클래스의 파라미터가 이와 같이 비어있다면, 호출이 불가능하다. 그래서 아까 위와 같은 파라미터를 넣어주면, 가능해진다. 이제 파라미터값을 알아본다면 우선 참고는 공식홈페이지를 통해 하였다. docs.unrealengine.com/ko/Programming/UnrealArchi..

게임 프로젝트를 패키징한뒤 개발자의 입맛에 따라 필요한 정보를 게임실행 이외의 파일에 저장이 필요로 할때가 있다. 그게 바로 DLL 파일 (Dynamic Linked Library)이다. 우리가 사용하는 게임이외에 프로그램에도 DLL파일 자체가 없으면 실행 불가능하거나, 문제가 생긴다. 이를 이제 언리얼프로젝트에서 호출하여 사용해보도록 하자. 우선 언리얼 프로젝트를 열기전에 비주얼 스튜디오를 열어 DLL 프로젝트를 생성해준다. 선택되어있는데 프로젝트로 만들어주게 되면 위와같이 기본형태가 나오는데 헤더파일제외는 지워도 무방하다. 그리고 이제 필요로하는 함수를 사용해준다. 난 임시로 숫자 5를 리턴하는 Get5Number 함수와 입력받은 두 수를 더해주는 AddNumber 라는 함수를 만들어 주었다. 그리고..

ConstructorHelpers 이름에서도 알수 있듯이 생성자도우미(?)이다. 방법 1. 방법 2. 난 지금까지 C++에서 에디터의 애셋을 불러 올때, 방법 1만 사용해왔다. 그러던 중 언리얼 기본 샘플 프로젝트 블록 C++에서 방법2을 보고 알아보았다. 역시 공식문서상에 설명이 간단하게 있었다. docs.unrealengine.com/ko/Programming/UnrealArchitecture/Reference/Classes/index.html 게임플레이 클래스 게임플레이 클래스 생성 및 구현을 위한 레퍼런스입니다. docs.unrealengine.com 생성자 스태틱 및 헬퍼 좀 더 복잡한 데이터 유형, 특히나 클래스 레퍼런스, 이름, 애셋 레퍼런스 값을 설정하는 데는, 생성자의 Constructo..