c,c++
const 키워드에 관해서
comwitch
2022. 10. 24. 22:45
const라는 키워드는 해당 변수를 상수화 시키는데 사용이 되는 키워드다.
다음 용례에 대해서 사용을 주의하도록 하자.
1. const int, int const : 차이가 없다. int형 자료형을 상수화시키는데 사용한다는 점에서 같다.
2. int const *, int * const : 차이가 있다. 먼저 int const *는 포인터가 가리키는 값이 상수화 시키기 때문에 값을 변화시킬 수 없고, int * const는 주소 자체를 상수화시키기 때문에 값을 변화시킬 수 있지만, 주소를 변경할 수 없다.
3. 함수명(매개변수) const : 함수의 값자체를 상수화 시키는것 이럴 때는 정의된 함수는 선언되었을 때, 함수가 어떤 값을 변경시키면 안된다.
ex)
// Fill out your copyright notice in the Description page of Project Settings.
#pragma once
// MovingPlatform.h
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "MovingPlatform.generated.h"
UCLASS()
class UNREALLEARNINGKIT_API AMovingPlatform : public AActor
{
GENERATED_BODY()
...
private:
bool ShouldPlatformReturn() const; // const 함수 선언
float GetDistanceMoved() const;
};
// MovingPlatform.cpp
{
...
float AMovingPlatform::GetDistanceMoved() const
{
return (float)FVector::Dist(StartLocation, GetActorLocation()); //변하는 값이 없다
}
}