본문 바로가기
백준 11049 C++ 와.. 어려웠다 이 문제#include using namespace std;int n;pair arr[510];int dp[510][510];int main() { cin >> n; for (int i = 1; i > arr[i].first >> arr[i].second; } for (int len = 1; len len으로 총 구할 범위를 정해주고start로 구할 범위의 시작점을 정해준다.그리고 end = len + start이니까 start 부터 len까지의 연산 횟수 최소값을 저장하는 dp가dp[start][end]이다.mid는 어느 값이 최소인지 모르기에 start부터 end는 포함하지 않고 (mid+1을 하기에 end는 포함 X)모든 구역을 돌면서 최소값을 구한다. 2025. 3. 26.
Delegate를 인자로 사용하기 위한 방법 - 구조체 왜 Delegate를 인자로 사용하지 못할까?간단한 내부 구조DECLARE_DELEGATE_OneParam과 같이 선언한 Delegate 타입은 함수 포인터 + 캡처 객체주소를 포함하는 구조이다.MyDelegate.AddUObject(this, &AClassName::FunctionName);다음과 같이 사용한다면 AClassName이 함수 포인터(힙에 할당)이며 this가 캡처 객체 인스턴스 주소이다.즉, 내부적으론 어떤 함수를 가리키는 포인터, 그 함수가 멤버 함수라면 해당 객체에 대한 포인터가 있다.또한 바인딩 상태, 종류(멤버, 람다, 정적), 등록 해제 상태 등 다양한 값들이 관리가 된다. 그래서 왜 못하는가?Delegate는 내부적으로 함수 포인터 정보(힙 메모리) +  캡처 객체 정보로 이루.. 2025. 3. 25.
Uneal DataAsset으로 Combo System 만들기 // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"#include "Engine/DataAsset.h"#include "ABComboActionData.generated.h"/** * */UCLASS()class PRACTICE_API UABComboActionData : public UPrimaryDataAsset{ GENERATED_BODY()public: UABComboActionData(); UPROPERTY(EditAnywhere, Category = Name) FString MontageSectionNamePrefix; UPROPERTY(Ed.. 2025. 3. 24.
Unreal DataAsset DataAssetUDataAsset을 상속받은 Unreal Object Class이다.에디터에서 에셋 형태로 편리하게 데이터를 관리할 수 있다. 예시캐릭터 컨트롤에 관련된 주요 옵션을 모아 Data Asset으로 관리를 예시로 해보자.C++ Class에서 DataAsset을 추가하고헤더파일에 이와 같이 다양하게 추가해준다.float값의 경우엔 생성자에 다음과 같이 작성해주면 된다. 그리고 Unreal 에디터에서Miscellaneous -> DataAsset으로 들어가서 방금 생성한 Class를 선택해주면 생성이 된다. 생성한 DataAsset에 들어가보면다음과 같이 헤더 파일에 선언한 속성값을 채워넣을 수 있게 UI가 제공이 된다.다음과 같이 사용할 값을 DataAsset(여기선 UABCharacterC.. 2025. 3. 22.
게임 시작 시 포커스가 뷰포트로 들어가게 하기 void APlayerController::BeginPlay(){ Super::BeginPlay(); FInputModeGameOnly GameOnlyInputMode; SetInputMode(GameOnlyInputMode);}다음과 같이 입력하면 되며GameOnlyInputMode의 의미가 게임 입력만 활성화하고 마우스 커서나 UI 포커스는 무시한다는 의미이다.즉, 시작하자마자 모든 입력처리는 게임 안에서 처리가 된다.SetInputMode()함수가 APlayerCotroller에 있는 함수임으로 PlayerController에서만 사용이 가능하다. 2025. 3. 21.
경로기반 Class & Object 정보를 들고오는 방법 Asset해당 Asset에서 우클릭하여 Copy Reference를 해준다.이렇게 Asset주소를 들고온 후 생성자에서 다음과 같이 TEXT에 붙여주면 된다.붙여넣기를 하면 앞부분과 마지막에 '가 하나 더 붙는데 이건 삭제해주면 된다.'부분을 삭제하지 않으면 Crash가 난다. 그리고 Class 정보를 들고오기에 _C를 붙여주면 된다.여기서 _C는 해당 BP의 Generated Class를 의미한다.  CPPCPP도 동일하게 Copy Reference를 해준다.붙여넣기하면 여기도 '가 생기는데 동일하게 삭제해주면 된다. C++ 직접 참조(StaticClass()) vs 경로 기반 로딩 (FClassFinder)C++직접 참조컴파일 타임에 타입 안정성을 검사한다.런타임 시에 오류 위험이 없다.StaticC.. 2025. 3. 21.