![[UE] Unreal5 Live Coding쓰면 지양??해야 하는 이유 (+빌드)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fch0VCL%2FbtsdBNnPGyr%2FMrUQY8VLtk9kgFDVWn4wM1%2Fimg.jpg)
LiveCoding에 대해 호불호가 갈릴 수 있지만 저는 엄청 자주 쓰지는 않습니다. 물론 안좋다는 것은 절대 아닙니다. 아주 좋은 기능인거같아용.. 다만 저는 처음에 언리얼 사용시 라이브코딩을 통해서 작업했던 부분들이 다음날에 컴퓨터를 켰을 때 Update가 안되어 있던 경험이 있어 정리하게된 글입니다. 일단 언리얼 엔진에서 하나의 프로젝트에는 여러개의 "모듈"을 만들어 낼 수 있습니다. 모듈은 Build.cs파일, .h파일, .cpp파일의 모음인데 .uproject 파일을 메모장으로 열면, 모듈이름이 명시되어 있습니다. 해당 모듈은 C++프로젝트의 .Target.cs 파일에서도 명시가 되어있습니다. Target.cs에 모듈이 ExtraModuleNames.Add로 적어주어야 빌드시 이를 참고하여 빌드..
![[C++] vftable](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbRbcNK%2FbtsbTuO843b%2FHedizzC5npGkHCiKJTKQS0%2Fimg.png)
이번글은 C++의 다형성의 가상함수에 대한 글입니다. C++ 다형성에 대해서 전부는 다룰 수 없고 제가 이해한 내용중에서도 "정적 바인딩", "동적 바인딩", "가상 함수", "vftable", "순수 가상함수", "추상 클래스" 정도에 대해서만 다룰려고 합니다. 먼저 아래의 코드에서 class A { public: void Func() { cout
![[UE] Unreal5 TObjectPtr<>, TSubclassOf<> 에 대해](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FddZKUP%2FbtsbDEFfOob%2FZ7z5h4VnZthPYdK4E0lHzk%2Fimg.jpg)
저는 개인 프로젝트를 진행하다가 TestAnimInstance라는 C++ AnimInstacne를 상속을 받는 ABP_Anim이라는 블루프린트 클래스를 C++코드로 관리를 하고 싶어졌습니다. 그래서 처음에는 쌩포인터로 Character라는 C++클래스안에서 TestAnimInstacne* MyAnim이런식으로 관리를 했었는데 크래쉬가 나는 현상을 자주 겪게 되다가 관리하는 방법 중에 TObjectPtr로 관리하거나 TSubclassOf로 관리하는 방법이 있었는데 언제 어디서 둘을 구분해야하는 지 햇갈렸던 부분을 정말 짧게 정리를 해보았습니다. 나중에 TSubclassOf TObjecPtr 의 코드를 보고 코드를 분석하여 글을 쓰면 좋겠네여.. 먼저 UObject란? 언리얼에는 게임 오브젝트 처리용 시스템..
![[자료구조] C++ Vector (손코딩)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FEVbbv%2Fbtsaw5wND3J%2FRXk5wZfSq7dQZwfa0phukK%2Fimg.png)
#include #include using namespace std; template class Vector { private: T*addr; int dataSize; int dataMaxSize; public: Vector() : addr(nullptr), dataSize(0), dataMaxSize(2) { addr = new T[dataMaxSize]; } virtual ~Vector() { delete[] addr; } public: void push_back(const T& value); void resize(const int& resize); T& data() const { return addr; } const int& size() const { return dataSize; } const i..
![[C++] 복사 생성자와 임시객체](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdh33ow%2Fbtsak9zZp6w%2FJLVLwhSIF5RbTjb61m6yNK%2Fimg.png)
이번글은 C++의 복사 생성자와 임시객체에 대한 글입니다! #include using namespace std; class Person { private: int val; public: Person(int n) : val(n) { cout
![[UE] Unreal Engine 빌드과정과 BP에서 C++ 로의 변환](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FAOuBT%2Fbtr95f2cIiP%2F3y3E73xLxmlGWkdSudSwz1%2Fimg.png)
이번글은 언리얼 엔진의 빌드 과정과 기존의 블루프린트 프로젝트를 C++프로젝트로 변환을 어떻게 하는지에 대해 알아보는 글입니다. 언리얼 엔진을 빌드를 하면서 기초적으로 알아야 할 부분은 아래와 같습니다. Solution Configuration Solution Platforms Module Builds Rules, TargetRules Solution Configuration 간단하게 말하면 언리얼 프로젝트를 빌드하는 Configuration을 설정하는 부분입니다. 언리얼 프로젝트를 c++로 만들었을 때 여기서 위에 보이는 Development Editor라는 부분인데요. 해당 부분의 Cofiguration을 설정하여 사용자에게 배포할 목적으로 빌드할 것인지, 디버깅용 또는 개발용으로 c++프로젝트를 빌..

25206번: 너의 평점은 (acmicpc.net) 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 일단 문제를 잘 읽어야 한다는 것을 다시한번 느끼게 되었습니다. 현재 학교를 다니는데 학교 평점이 이렇게 계산되는지는 몰랐네요...;; 핵심은 "전공평점은 전공과목별 (학점 × 과목평점)의 합을 학점의 총합으로 나눈 값이다." 이부분인거같습니다. 저는 map 이진 탐색트리인 레드블랙트리를 통해서 학점에 따른 점수를 구할 수 있도록 하였습니다. P라면 continue 해주어야 겠지요. 또한 double타입으로 수를 더해..

https://www.acmicpc.net/problem/10811 10811번: 바구니 뒤집기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 순서대로 적혀져 있다. 바구니는 일렬로 놓여져 있고, 가장 왼쪽 바구니를 1번째 바구니, 그 다음 바구니를 2 www.acmicpc.net 쉬운 문제이지만 reverse의 기능과 vector와 같은 container의 iterator가 무엇인지 모른다면 풀기가 어려워 보이는 문제입니다. 저도 처음에 조금 돌다가 풀었습니다. reverse()에는 vecotr와 같은 container객체의 iterator를 넣을 수 있습니다. iterator는 vector 객체의 주소를 가르켜주는 "도구"의 느낌으로 저는 생각하고있습니다. 따라서..