const는 가능한 모든 변수에 대해서 적용해야한다
루프
포인터 자체에 const
T* const Ptr = …..
해당 내용은 포인터에 대한 증감연산이 불가능 하다는 것이지 포인터의 값이 변경이 불가능 하다는 것은 아니다
int value = 5;
int* const Ptr = &value; // Ptr is a constant pointer to an integer
*Ptr = 10; // Allowed, modifies the value pointed to by Ptr
Ptr++; // Not allowed, Ptr is constant
const TArray<FString>& GetSomeArray():
const TArray<FString>& GetSomeArray() {
static TArray<FString> SomeArray;
return SomeArray;
}
// Usage
const TArray<FString>& MyArray = GetSomeArray();
MyArray.Add("New Element"); // Not allowed, MyArray is constant
T& const Ptr = ……
⇒ ERROR
해당 내용은 틀린 것이다 주소 값 자체는 이미 const 이기 때문에 const를 붙혀서는 안된다.