본문 바로가기

전체 글332

explicit 자신이 원하지 않은 형변환이 일어나지 않도록 제한하는 키워드 class A { public: int num = 1; public: // 1. non explicit A(int n) : num(n) {}; // 2. explicit explicit A(int n) : num(n) {}; void printA(A a) { cout 2023. 7. 6.
Optimization 언젠가는 도움이 되길 바라며.. [참고 영상 링크] https://www.youtube.com/watch?v=PqNm22br7y8 추후 정리해야지.. 예를 들어 오브젝트를 돌리는 함수가 있다면 모아서 실행하는게 좋음. L1캐쉬에 올려져서 다음 함수 실행 시간이 줄어듬. 2023. 7. 5.
const 위치에 따른 의미 메서드 뒤에 const 위치 ; 해당 메서드가 속해있는 클래스의 멤버 변수를 바꾸지 않겠다는 의미 class A { public: int num = 1; public: int getNum() const { int a = 1; a++;// 지역 변수의 변경은 가능 num++;// 클래스의 멤버 변수의 변경은 불가능 return num; } }; 함수의 매개 변수에 const 위치 ; 해당 매개 변수를 함수 내에서 바꾸지 않겠다는 의미 int add(const int a, const int b) { return a + b;// 단순 a와 b를 합한 결과를 반환하기 때문에 굳이 const 의미 없음 } int a = 1; void increase(int b) { b++; cout 2023. 7. 5.
CoreRedirects DefaultEngine.ini 파일에 구성되어 있음. [CoreRedirects] 섹션 ; 개발 도중에 클래스, 함수, 변수 이름이 변경되었을 경우, 해당 레퍼런스를 참조하지 못하는 경우에 사용해준다. // DefaultEngine.ini [CoreRedirects] // UClass +ClassRedirects=(OldName="MyOldClass",NewName="MyNewClass") +ClassRedirects=(OldName="/Script/MyProject.MyOldClass",NewName="/Script/MyProject.MyNewClass") // UEnum +EnumRedirects=(OldName="EOldNumbers",NewName="ENewNumbers") // UFunctio.. 2023. 7. 3.
Subsystem - UGameInstanceSubsystem.. 서브 시스템 클래스 Engine UEngineSubsystem Editor UEditorSubsystem GameInstance UGameInstanceSubsystem LocalPlayer ULocalPlayerSubsystem World UWorldSubsystem UGameInstanceSubsystem 사용 방법 /* * 1. UGameInstance 생성 이후, UMyGameSubsystem 이 생성됨. * 2. UGameInstance 초기화 시, 서브시스템에서 Initialize()가 호출됨. * 3. UGameInstance 종료 시, 서브시스템에서 Deinitialize()가 호출됨. * 4. 이 시점에서 서브시스템에 대한 참조가 삭제되고 더이상 참조가 없으면 가비지 컬렉션됨. */ cl.. 2023. 6. 30.
콘솔 명령어 / 콘솔 변수 /** * 콘솔 명령어 * @param 명령어 이름 * @param 명령어 설명 * @param 함수 호출시 실행될 델리게이트 * @param 플래그 값 */ FAutoConsoleCommnad CommandTest( TEXT("CommandTest"), TEXT("콘솔명령어 테스트"), FConsoleCommandWidthArgsDelegate::CreateLambda({}(const TArray& Params) { FString ParamStr; for (const FString& Param : Params) { ParamStr += Param; } UE_LOG(LogTemp, Log, TEXT("Command Test! Param : [%s]"), *ParamStr); }), ECVF_Default.. 2023. 6. 29.