Make Unreal REAL.
article thumbnail
디폴트 매개변수(Default Parameter)
C++/기타 2023. 1. 30. 10:42

선언부와 구현부(a.k.a 정의부) 둘 모두에 디폴트 매개변수를 지정하면 컴파일 오류가 발생한다. 두 매개변수의 값이 다르게 지정될 수 있기 때문이다. 그래서 둘 중 어느 곳에 지정하는 것이 바람직한지 검색해보았다. default parameters in .h and .cpp files COMPILER: g++ 4.7.2 Ok. So I am confused about default parameters in .h and .cpp files. It is mentioned in many places( including this site) that default parameters can be added only in .h files ... stackoverflow.com 선언부에 작성하는 것이 바람직하다고 ..

article thumbnail
실수를 비교하는 방법
C++/기타 2023. 1. 30. 10:23

부동 소수점 실수는 수를 정확히 표현할 수 없고 오차가 존재한다. 유니티나 언리얼 에디터에서 1이었던 값이 0.99999로 바뀌어 있는 걸 본 적이 있을 것이다. 따라서 실수가 같은지 비교하는 것은 사실 그리 간단하지 않다. 대략 같다. // 절댓값(a - b) 절댓값이 크다고 추측되는 수 * Epsilon bool definitelyLessThan(float a, float b) { return (b - a) > (fabs(a) < fabs(b) ? fabs(b) : fabs(a)) * EPSILON; } 예시 #include #include #define EPSILON numeric_limits::epsilon() using namespace std; // 절댓값(a - b) 절댓값이 크다고 추측되는..

article thumbnail
Level 0. 순서쌍의 개수

Level 0. 순서쌍의 개수 n이 제곱근의 제곱인 경우를 처음에 더해준다. 1 ~ n까지 모두 순회할 필요 없이 제곱근보다 작은 수까지만 확인하고 한 번에 2씩 더해주면 된다. #include #include using namespace std; int solution(int n) { float square_root = sqrt(n); int answer = (pow(square_root, 2) == n); for (int i = 1; i < square_root; ++i) answer += !(n % i) * 2; return answer; }

article thumbnail
웅크리기 기능 만들기

Unreal Engine: Ultimate Survival Horror Course Crouch InputAction을 매핑한다. BPC_Movement에서 웅크렸을 때의 속도, 키를 위한 CrouchSpeed, CrouchHalfHeight 변수를 생성하고 기본값을 설정한다. Initialize 함수에서 CrouchHalfHeight의 값을 플레이어의 Capsule 컴포넌트의 CapsuleHalfHeight의 절반으로 초기화한다. L1_Character에서 웅크리기 시 키 조절을 위한 ShortenPlayerCapsule, LengthenPlayerCapsule 커스텀 이벤트를 생성한다. StartCrouch 커스텀 이벤트를 생성하고 구현한다. Cast 실행 노드에 Convert to pure cast..

article thumbnail
std::priority_queue

코딩 테스트를 위한 자료 구조와 알고리즘 with C++ std::priority_queue STL에서 제공하는 우선순위 큐 컨테이너 어댑터이다. 기본적으로 std::vector가 컨테이너로 사용된다. 기본 비교자로 std::less가 사용되며, 가장 큰 수가 가장 위에서 높은 우선 순위를 갖는 최대 힙(Max Heap)을 생성한다. std::greater를 사용하면 가장 작은 수가 가장 높은 우선 순위를 갖는 최소 힙(Min Heap)이 생성된다. 순회할 필요가 없으므로 반복자를 제공하지 않는다. Root 이외의 원소는 접근할 수 없다. std::priority_queue의 성능 최대 힙에서 최대 원소, 최소 힙에서 최소 원소에 대한 접근은 O(1)에 수행된다. 원소의 삽입은 상향식 재구성(Bottom..

article thumbnail
std::queue

코딩 테스트를 위한 자료 구조와 알고리즘 with C++ std::queue STL에서 제공하는 큐 컨테이너 어댑터이다. 기본적으로 std::deque가 컨테이너로 사용된다. 선입선출(FIFO) 구조를 갖는다. 순회할 필요가 없으므로 반복자를 제공하지 않는다. Front와 Rear에서 원소에 접근할 수 있다. std::queue의 성능 모든 연산은 O(1) 시간에 수행된다. #include #include using namespace std; void main() { queue que; // 1, 2, 3 Push que.emplace(1); que.emplace(2); que.emplace(3); // Pop que.pop(); cout

검색 태그