UE5 부트캠프(TIL) 22

[TIL] 템플릿과 STL 개념 정리 및 Vector Lib 구현해보기

템플릿 (Template)템플릿은 자료형에 관계없이 동작하는 일반화된 함수나 클래스를 작성할 수 있도록 해주는 기능이다.용도:버전을 다른 타입에 따라 복잡한 컨설 필요 없이 하나의 컨설로 차례 사용장점:타입 사용 자유로워지는 코드자료형에 의외된 도메인 함수/클래스에서 복장 사용 없음예제 (직접 구현한 라이브러리 vector의 함수 일부):#include //#include using namespace std;template class SimpleVector {private: T* data; int size; int capacity;public: SimpleVector(T s = 10){ size = 0; capacity = s; data..

[TIL] 상속 익숙해지기 (1)

#include using namespace std;// TODO: Phone 클래스 구현// - displayBrand()와 showFeature() 순수 가상 함수를 포함하도록 구현하세요// - 소멸자를 반드시 virtual로 선언하세요class Phone {public: virtual void displayBrand() = 0; virtual void showFeature() = 0; virtual ~Phone() {};};// Samsung 클래스 작성 (Phone 클래스를 상속받음)class Samsung : public Phone {public: void displayBrand() { cout displayBrand(); phones[i]->sho..

[TIL] C++ 간단한 프로그래밍 구현

#include using namespace std;// 점수를 입력받아 배열에 저장하고 유효한 점수의 합계를 구하는 함수double solution(int scores[], int scoresSize) { int sum = 0; int i = 0; // scoresSize만큼 유효한 점수를 입력받음 while (i > scores[i]; // 입력값이 0 이상 100 이하일 경우만 유효 if (0 (sum) / scoresSize;}int main() { int scores[5]; // 점수 배열 int* p = scores; // 포인터로 전달 int scoresSize = sizeof(scores) / sizeof(scores[0]); ..

[TIL] (c++) 포인터 개념

포인터란? 포인터(pointer)란 변수의 메모리 주소를 저장하는 변수다.즉, 값이 아니라 주소를 가리키는 변수라고 해할 수 있다. int a = 10;int* p = &a; // 변수 a의 주소를 포인터 p에 저장 포인터 선언 형식 자료형* 변수명;//* 별의 정식 명칭은 에스터리스크(asterisk)int* p; // int형 데이터를 가리키는 포인터double* dptr; // double형을 가리키는 포인터 * 기호는 "포인터 타입"을 나타낸다.&는 "주소 연산자", 변수의 주소를 얻는다.예제 코드#include using namespace std; int main() { int a = 10; int* p = &a; // 변수 a의 주소를 포..

[TIL] C++ 공부

변수 문법 메모리에 저장 해야하는데 물리적인 주소를 그대로 사용하려니 너무 복잡하다. 따라서 c++에서는 사용 편의성을 위해 메모리에 이름을 붙여서 관리할 수 있게 제공한다. 변수의 타입에 따라 차지하는 메모리의 크기가 다르다. 각 타입에 맞는 크기가 정해져 있는 메모리. 메모리의 크기는 유한하다. 변수로 할당한 공간에 입력을 받을때 cin 사용. 변수에 저장된 값을 콘솔에 출력할 때 cout 사용 변수의 크기는 sizeof 연산자를 활용하여 구할 수 있음 기본적인 대입(=), 사칙연산(+, -, *, /) 그리고 대소비교(>, =, a++ (후위 연산) a-- ++a (전위 연산) --a int 정수 float, double 부동 소수 char 단일 문자 bool 논리값 ..

[TIL] Git 협업 회고 - 브랜치 미사용 사례

1. 회고 요약브랜치 개념 없이 GitHub Desktop을 사용해 협업을 진행했고, 이로 인해 작업 내용 충돌 및 손실이 발생했다. 이후 Git 강의를 통해 브랜치와 협업 흐름의 중요성을 인식하게 되었다.2. 문제 요약모든 작업을 main 브랜치에서 진행브랜치 기능과 병합 개념에 대한 이해 부족충돌 발생 시 해결 방법을 몰라 커밋 로그만 분석브랜치 기능은 존재했지만 사용하지 않음3. 브랜치 관련 개념 (강의 요약)브랜치: 독립적인 작업 공간. 기능별로 나눠 작업 후 병합기본 흐름: clone → checkout → 작업 → commit → push → Pull Request → MergeGitHub Desktop에서도 브랜치 생성 및 전환 가능4. 개선 방향항목기존 방식개선 방향작업 공간모든 작업을 m..

[UE 5TIL]본 캠프 - 블루프린트 적극 활용하기

개념 알아 보기레벨 블루프린트: 특정 레벨에서만 실행되는 블루프린트변수(variable): 데이터를 저장하는 값의 상자시퀀스 노드(Flow Sequence): 하나의 실행 핀을 여러 흐름으로 분기하는 노드불리언 노드(AND): 모든 조건이 참일 때만 결과가 True가 되는 논리 연산판단 노드(Branch): If문 역할. 조건에 따라 실행 흐름 분기감쇠 노드(Decrement): 변수를 1씩 감소시키는 연산레벨 블루 프린트를 열고 변수를 선언하였다.비교를 위해 인티저와 플로트를 나눴다.시퀀스 노드로 여러 흐름을 분기 하였다.Bullet이 0이 아니고, HP가 0이상일때 AND 불리언은 True를 반환하게 하였다.Brunch 노드로 반환된 값이 True일 때 Bullet은 1감소하고 Format Text의..

[UE5 TIL]본 캠프 - Fab 에셋을 이용하여 맵 꾸미기

※본 글은 언리얼 엔진 5.5 기준으로 작성 되었다. Fab에서 사용할 에셋Unreal Learning Kit 개념 알아가기Switching Unreal Engine Version: 언리얼은 버전이 맞지 않은 프로젝트를 강제로 업그레이드 할 수 있다. 하지만 프로젝트 다운그레이드는 불가능 하다고 한다. 5.4 > 5.5 O5.5 > 5.4 X업그레이드는 신중히 사용하자 Unreal Learning Kit는 5.4버전까지 지원하는 프로젝트형 에셋이다.이 프로젝트를 안전하게 5.5 버전으로 업그레이 하려면 라이브러리에서 프로젝트를 생성하고 윈도우 탐색기에서 프로젝트 폴더에가서 파란색아이콘을 눌러 Switching Unreal Engine Version 을 하여 5.5 버전으로 바꿔 주어야한다. 버전을 바..