일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정렬
- map
- 델리게이트
- 구조적 바인딩
- BFS
- enumasByue
- C++
- 스마트포인터
- unorder_map
- 비동기호출방법
- 선택정렬
- 약참조
- 크리티컬섹션
- 알고리즘
- 언리얼가비지컬렉터
- 강참조
- UML관련
- tweakobjectptr
- 자료구조
- dataasset
- 애셋로드
- 프로그래머스
- 람다
- 데이터애셋
- moreeffectiveC++
- 정렬알고리즘
- UE_LOG
- makeweakobjectptr
- C++최적화
- stl
- Today
- Total
목록Note (430)
기억을 위한 기록들
#include using namespace std; int Compare(const void*_elem1, const void*_elem2) { int * elem1 = (int*)_elem1; int * elem2 = (int*)_elem2; if (*elem1 > *elem2) return 1; else if (*elem1 < *elem2) return -1; else return 0; }//end of Compare int main() { int arr[6] = { 1,2,4,6,10}; int *result; int Target = 6; result =(int*)bsearch(&Target, arr, 5, sizeof(int), Compare); //bsearch(찾는 값 주소, 데이터집합주소,..

#include using namespace std; int Compare(const void*_elem1, const void*_elem2) { int * elem1 = (int*)_elem1; int * elem2 = (int*)_elem2; if (*elem1 > *elem2) return 1; else if (*elem1 < *elem2) return -1; else return 0; }//end of Compare int main() { int arr[6] = { 23,32,8,11,34 ,56}; qsort((void*)arr, 5, sizeof(int), Compare); //qsort(데이터집합주소,요소의개수(크기),데이터요소 하나의크기,비교 수행결과 반환함수포인터) for (auto a ..

#include using namespace std; template class Node { public: Node() : mdata(static_cast(0)) , mPre(nullptr) , mNext(nullptr) {}; Node(T _data) : mdata(_data) , mPre(nullptr) , mNext(nullptr) {} ~Node() { delete mPre; delete mNext; }; public: T mdata; Node * mPre; Node * mNext; }; template class DoubleLinked_List { public: DoubleLinked_List() : mHead(nullptr) , mTail(nullptr) {}; ~DoubleLinked_Lis..
코드영역(실행 할 프로그램을 올려 놓는 공간) - 코드를 저장하는 공간 - 실행 할 프로그램의 코드가 저장 되는 공간 - cpu는 코드영역에 저장된 명령문들을 하나씩 가져와서 실행한다. 데이터 영역(정적메모리) - 프로그램이 종료 될떄까지 지워지지않을 데이터 저장. - 대표적으로 전역변수와 static 변수 - 상수도 저장 스택영역(자동 메모리) - 잠깐 사용하고 삭제하는 데이터 저장(지역변수, 매개변수) (=영역(scope) 안에서만 존재한다. 그래서 자동 메모리라고도 불림) - 해당 객체가 정의 된 블록(스코프)를 벗어날때 소멸 - 함수의 호출하는 위치도 저장. - 힙보다 빠름 힙 영역(자유 저장소) - 가비지 컬렉터가 없으면 프로그래머가 직접 관리(할당/해제)해줘야함.(자유의 반대는 책임) - 스택..
Wide character type(확장형 문자 타입) 즉, Unicode를 의미 (2 byte) 8비트로 표현할 수 없는 문자 세트를 처리할 때 사용한다. 이 데이터형은 기반데이터형( underlying type )이라고 불리는 다른 정수형 중 하나와 같은 크기와 부호 속성을 가지고 있다. wchar_t 스트림을 처리하기 위해 wcin 과 wcout 기능을 제공한다. 광폭 문자상수나 광폭 문자 문자열은 그 앞에 L 을 붙여서 나타낼수 있다. wchar_t babo = L'ah'; // 광폭 문자 상수 wchar_t jjindda[ 3 ] = L"jjindda"; // 광폭 문자 문자열 2바이트 wchar_t 를 사용하는 시스템에서는 이 코드가 각 문자를 2바이트 단위로 메모리에 저장한다
생성자와 소멸자 생성자 - 생성자는 객체가 생성되면 자동으로 호출. - 생성자가 정의되어 있지 않으면 컴팡일러는 기본 생성자라고 불리는 생성자를 자동으로 만든다. - 클래스 기본 변수를 초기화하고 싶을때는 실제 객체가 만들어 ㅈ지기전, 생성자 코드의 나머지 부분이 실행되기 전에 값을 할당. ( 상수 혹은 클래스형 필드를 초기화 할때 유용 소멸자 - 객체가 소멸될 때 자동으로 호출. 객체를 삭제하는 작업을 담당. - 인자를 전달할 수 없다.(명시적으로 호출 할 수 있는 메서드가 아니므로) ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 가상함수 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