일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스마트포인터
- C++
- 비동기호출방법
- tweakobjectptr
- BFS
- 프로그래머스
- 정렬알고리즘
- 델리게이트
- 언리얼가비지컬렉터
- 애셋로드
- map
- 약참조
- 데이터애셋
- 강참조
- unorder_map
- 구조적 바인딩
- makeweakobjectptr
- 알고리즘
- stl
- UML관련
- dataasset
- 정렬
- moreeffectiveC++
- 자료구조
- 크리티컬섹션
- 선택정렬
- enumasByue
- 람다
- UE_LOG
- C++최적화
- Today
- Total
목록Note (430)
기억을 위한 기록들

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..

오름차순or 내림차순으로 정렬되어 배열이 있다고 하고, 정렬 되어 있는 배열에 특정값이 몇번 인덱스에 있는지 찾는 이진검색 알고리즘이 존재한다. 변수명 arr 배열(오름차순)을 넣고 15을 찾는다면 변수명 arr2배열에 주석부분을 서로 바꿔준 뒤 마찬가지로 15을 찾으면 사실 여기까지는 인터넷에 찾아보면 더 자세한 설명도 많이 나온다. 근데 내가 글을 쓴 이유는 순위 시스템에서 새로운 점수를 받았을때 해당 점수가 등수에 반영 가능한 여부를 판단하기 위해서 이다. 그러기 위해 이진검색을 조금 변경 해보았다. 내림차순인 변수명 arr2 배열에서 targetValue 새로운 점수인 70점이 순위에 드는지 여부를 확인하기 위함이다. 결과이다. 출력에 result+1은 실제 배열 인덱스와 우리가 인식하는 등수(1..
1. Stack(LIFO)(기본 컨테이너 : deque) - 컨테이너는 vector, deque, list를 사용 가능 2. Queue(FIFO)(기본 컨테이너 : deque) - 컨테이너는 vector는 사용불가능 / deque, list 사용 가능 3. Priority_queue(우선순위 큐 구현/기본 컨테이너 : vector) - 내부적으로 STL의 힙 알고리즘 make_heap(), push_heap(), pop_heap() 사용하여 구현. - 임의 접근 반복자를 제공하는 컨테이너(vector/deque) 사용가능
반복자는 포인터를 추상화한 클래스 객체. 포인터가 하지 못하는 더 많은 동작을 수행 할 수 있다. 자료 형식이 있어 효율적인 연산이 가능하듯이 반복자도 각 반복자만의 특징을 가지는 5가지의 반복자가 있다. 1. 입력 반복자(input iterator) : 전방향 읽기 연산 제공 - *iter(읽기) - ->(멤버 읽기) - ++(전방향 이동) - ==,!=(비교) - iterator(iter) 2. 출력 반복자(output iterator) : 전방향 쓰기 연산 제공 - *iter=x(쓰기) - ++ - iterator(iter)(복사생성자) 3. 순방향 반복자(forward iterator) : 전방향 읽기, 쓰기 연산 제공 - *iter - -> - ++ - ==,!= - =(대입) - iterato..
헤더에 정의되어 있는 함수객체는 함수자라는 애칭으로 더 많이 사용되며, opertator() 연산자를 오버로딩한 클래스 객체입니다. 일반 함수 객체 : 특정 기능을 수행하는 함수 객체 - 산술 연산 함수 객체 : 사칙연산 기능을 수행하는 plus, minus, multiplies,divides,modulus,negate 등 - 비교 연산 함수 객체 : 비교 조건자 equal_to, not_equal_to, less, greater, greater_equal, less_equal 등 - 논리 연산 함수 객체 조건자 : 논리 조건자 logical_and, logical_or, logical_not 함수 어댑터(function adapter) - 바인더 : 이항 함수 객체를 단항 함수객체로 변환(bind1st..
1. 원소를 수정하지 않는 알고리즘 - 원소의 순서나 값을 변경하지 않고 원소를 읽기만 하는 알고리즘 (탐색/비교 등) 2. 원소를 수정하는 알고리즘(덮어쓰기 모드로 동작. 삽입모드로 동작하려면 insert_iterator 사용) - 원소의 값을 변경하거나, 목적지 순차열로 원소를 복사하는 알고리즘 (복사/채우기/교환/합병/수정 등) 3. 제거 알고리즘 - 2번 '원소를 수정하는 알고리즘'의 특수한 형태로 원소를 실제로 제거하지 않고 논리적으로 제거(다음 원소로 덮어쓰기)하기 때문에 순차열의 size를 실제로는 변경X(실제로 변경하려면 컨테이너의 erase()함수 사용) (제거/조건제거) 4. 변경 알고리즘(순서 변경) - 순차열의 원소를 서로 교환하거나 이동하여 순차열 원소의 '순서'를 변경하는 알고리..
시퀀스 컨테이너 - 원소가 상대적인 위치(순서)를 유지하므로 가장 앞요소와 뒤 요소를 참조하는 front()/back() 함수 제공 - 컨테이너 끝에 추가/제거 하는 push_back(),pop_back() 멤버함수 제공 시퀀스 컨테이너 종류 1.vector - 배열기반 - 원소가 하나의 메모리 블록에 연속하게 저장(연속 메모리기반) - 원소 추가or삽입 이루어 질때, 메모리 재할당 발생 할 수 있으므로 메모리 할당크기를 알 수 있게 capacity() 멤버함수 제공 - 메모리 크기 예약 reverse() 멤버 함수 - insert()/erase()/push_back() 빈번하게 이루어진다면, 다른 컨테이너 고려 - pop_front()/push_front()는 제공하지 않음. vector에서 매우 비효..