본문 바로가기

분류 전체보기

(158)
c++ stl deque 설명, 성능상 이슈 deque은 vector와 다르게 삽입, 제거 과정을 o(1)에 할 수 있다. 이게 가능한 이유는 deque는 벡터를 여러 공간에 저장하기 때문이다. 하지만 메모리 관점상 좋지 않다. (코딩테스트 할 때는 도움이 될지 모르겠다) 굳이 필요한 경우가 아니라면 vector를 사용하도록 하자. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include int main() { std::deque d = { 7,5,16,8 }; //o1 time complexity d.push_front(13); d.emplace_back(15); d.push_back(25); d.emplace_back(16); for (int n : d) { std::cout
c++ vector, array 다차원 배열, 2d array를 1d처럼, 성능 주의점 Vector의 다차원 배열은 Array와 메모리 구조가 다르다. Vector가 만약 2*2 배열이라면 행에 해당하는 부분은 stack에 저장되며 stack 저장되는 것은 상위 vector의 pointer, size, capacity이다. 이후 하위 vector는 힙에 저장되며 힙에 vector의 pointer, size, capacity가 저장된다. 하위 벡터의 pointer가 다시 자료가 존재하고 있는 heap을 가르키게 된다. 그리고 벡터가 띄엄띄엄 존재하면 성능상 손해다. 따라서 1d로 벡터를 만들어주는 클래스를 만들었다. 다차원 배열의 for loop을 위해서는 cache 방향으로 for loop 을 해야 한다. 성능 차이가 꽤 크다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1..
c++ vector sort, stable_sort, partial_sort, nth_element, minmax, find, accumulate 코드 c++ vector, sort, stable_sort, minmax, find, accumulate 코드 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112..
c++ vector와 array의 차이 Array - Array는 stack에 할당된다 - Array는 Stack에 할당되므로 compile time에 결정된다 - Array는 Fixed size여야 한다 - Array는 Stack에 할당되므로 매우 빠르다 - 비교적 작은 메모리를 할당한다면, array를 쓰자 Vector - Vector는 Heap에 할당된다 - 주의할 점은 Vector의 Pointer, Vector의 Capacity, Vector의 Size는 Stack에 할당됨 - Vector는 Fixed Size가 아니어도 된다. - 비교적 큰 메모리라면 Vector를 쓰자 - Array에 비해 느리다.
c++ 벡터 remove, remove_if 사용 기록 remove_if를 쓰면 lambda 함수를 적용해서 효율적으로 원소를 제거할 수 있다. 기본 원소뿐만아니라 벡터 또한 삭제할 수 있다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 #include #include #include #include class Cat { public: Cat(std..
Unreal Engine - Set timer, Event tick timer를 활용해서 정해진 시간마다 특정한 함수가 실행되게 만들 수 있다. 또한 event tick을 활용해서 매 프레임마다 특정한 명령이 수행되도록 만들 수 있다.
Unreal Engine - 다른 클래스의 변수 가져다 쓰기
Unreal Engine - Blueprint Enum 사용하기 Blueprint Enum 생성하기 Blueprint에서 Enum 사용하기