-
언리얼의 가비지 컬렉터(GC)게임 상용엔진/Unreal 2025. 2. 19. 19:13
언리얼 엔진의 자동 메모리 관리C++은 저수준으로 메모리 주소에 직접 접근하는 포인터를 사용해 오브젝트를 관리한다따라서 직접 할당과 해지 짝 맞추기를 진행해주어야 한다 (new, delete) 잘못된 포인터의 사용 예시로 - 메모리 누수 (Leak) : new를 했는데 delete 짝을 맞추지 못하였을 때, 힙에 메모리가 그대로 남아있게 된다 - 허상 포인터 (dangling) : 이미 해제해 무효화된 오브젝트의 주소를 가리키는 포인터 - 와일드 포인터 (Wild) : 값이 초기화되지 않아 엉뚱한 주소를 가리키는 포인터잘못된 포인터 값은 다양한 문제를 일으킬 수 있으며 한 번의 실수로 프로그램을 종료시킬 가능성이 존재한다 언리얼의 가비지 컬렉션 시스템프로그램에서 더 이상 사용하지 않는 오브젝트를 자동으로..
-
decltype 타입 지정자란?언어/C, C++ 2025. 2. 18. 19:03
변수를 초기화하는데 표현식을 사용하는 것이 아닌, 컴파일러에서 표현식으로부터 추론한 타입으로 변수를 정의하고자 할 때 사용할 수 있으며 이 지정자는 피연산자 타입을 반환한다.컴파일러에서는 타입을 결정하기 위해 표현식을 분석할 뿐 평가하지는 않는다. decltype(f()) sum = x; // sum의 타입은 f에서 반환한 타입컴파일러에서는 f를 호출했을 때 이 함수에서 반환하게 될 타입을 sum의 타입으로 지정한다. const int ci = 0, &cj = ci;decltype(ci) x = 0; // x는 const int 타입decltype(cj) y = x; // y는 const int& 타입이고 x와 결합decltype(cj) z; // 오류 : z는 참조자이므로 초..
-
constexpr 변수란?언어/C, C++ 2025. 2. 17. 23:16
constexpr 선언을 사용해 변수가 상수 표현식인지 컴파일러에서 확인할 수 있다.constexpr 로 선언한 변수는 암시적으로 const이므로 상수 표현식으로 초기화해야 한다. constexpr int mf = 20; // 20은 상수 표현식constexpr int limit = mf + 1; // mf + 1은 상수 표현식constexpr int sz = size(); // size가 constexpr 함수일 때만 좋음 일반적으로 상수 표현식으로 쓰려는 변수는 constexpr을 사용하는 것이 좋다. 상수 표현식은 컴파일 중에 평가할 수 있으므로 constexpr 선언에 쓸 수 있는 타입은 제한적이다.constexpr에 쓸 수 있는 타입을 상수 타입이라고 하는데 상수 ..
-
[UE5] BPClass에서 StaticMesh로 변환게임 상용엔진/Unreal 2024. 12. 11. 01:34
Tools - Merge Actors 기술을 활용 1. StaticMesh로 변환하고자 하는 Blueprint Class를 열기 2. Add 버튼을 누른 후 StaticMesh 기능을 추가하여 하위 에셋들을 감싸기 3. 빈 레벨을 하나 만든 후 위 Blueprint Class를 적용 4. Tools - Merge Actors 클릭 5. Merge Actors 버튼 클릭이때, 변환하고자 하는 에셋이 클릭된 상태어야 한다.해당 버튼을 누르게 되면 Static Mesh 에셋으로 새로 생성된 것을 확인할 수 있다.
-
10866 덱코딩 테스트/백준 2022. 2. 15. 21:27
https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net #include using namespace std; const int MAX = 100000; class bojDeque { private: int* dequeMem; int dequeFront, dequeTail; int max, dequeSize; public: bojDeque() : dequeFront(MAX), dequeTail(MAX), max((MAX * 2) + 1)..