お世話になっております。
UPROPERTYを付いている変数の初期化について質問させて頂きます。
floatやint型の変数にUPROPERTYを付けると自動的に初期値に0が入りますのがこっちらの認識でしたけど、int型に関してはUPROPERTYに付けても初期化されずに不定の値が入ってしまいますので、それは正しい挙動なんでしょうが?
サンプルコードは下記通りです:
// テスト用構造体の定義
USTRUCT(BlueprintType)
struct FTestStruct
{
GENERATED_USTRUCT_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite)
int TestValue1;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
float TestValue2;
UPROPERTY(EditAnywhere, BlueprintReadWrite)
bool TestValue3;
FTestStruct()
{
;
}
};
// テストコードの実行
FTestStruct testStruct;
UE_LOG(LogTemp, Log, TEXT("Initial Value of Test Value1: %d"), testStruct.TestValue1);
UE_LOG(LogTemp, Log, TEXT("Initial Value of Test Value2: %f"), testStruct.TestValue2);
UE_LOG(LogTemp, Log, TEXT("Initial Value of Test Value3: %d"), static_cast(testStruct.TestValue3));
上記コードを実行すると「Initial Value of Test Value1」のログが0以外の不定値に入ることを確認できます。
よろしくお願いいたします。