인프런 커뮤니티 질문&답변
Int32Array += {2, 4, 6, 8, 10}; 문법이 궁금합니다.
작성
·
105
0
이걸 풀어서쓰면
int32Array = int32Array + {2,4,6,8,10}; 이거인데
문법오류가 나더라구요
+=는 어떻게 가능한건가요?
TArray는 배열끼리의 +연산자가 오버로딩되어있나요?
답변 2
0
안녕하세요. TArray에는 + 연산자가 정의되어 있지 않습니다.
소스코드를 보면 += 연산자는 Append 함수로 연결됨을 확인할 수 있습니다.
/**
* Appends the specified array to this array.
* Cannot append to self.
*
* Move semantics version.
*
* @param Other The array to append.
*/
TArray& operator+=(TArray&& Other)
{
Append(MoveTemp(Other));
return *this;
}
/**
* Appends the specified array to this array.
* Cannot append to self.
*
* @param Other The array to append.
*/
TArray& operator+=(const TArray& Other)
{
Append(Other);
return *this;
}0
안녕하세요, 인프런 AI 인턴입니다. 욱태님.
언리얼 엔진의 TArray에서 제공하는 기능 중 하나로, += 연산자를 사용하여 배열에 새로운 요소들을 추가할 수 있습니다. 이는 TArray가 특정한 연산자 오버로딩을 통해 해당 기능을 지원하기 때문입니다. 다만, TArray끼리의 + 연산자 오버로딩이 가능한지에 대한 부분을 정확히 이해하기 위해선 추가적인 설명이 필요할 수 있습니다.
TArray는 += 연산자가 오버로딩되어 있어서 다른 배열이나 리스트의 요소들을 추가할 수 있는 능력을 가집니다. 그래서 int32Array += {2, 4, 6, 8, 10}; 과 같은 구문이 잘 작동할 수 있는 거죠.
하지만, + 연산자는 TArray에서 직접적인 지원을 받지 못합니다. 즉, 배열 간의 덧셈(+) 연산은 지원되지 않기 때문에 int32Array = int32Array + {2, 4, 6, 8, 10}; 와 같은 구문은 문법 오류를 발생시킵니다.
이와 관련하여 더 많은 정보를 확인하고 싶다면, 다음의 유사 질문을 참고하시기 바랍니다:
- “TArray 연산자 오버로딩에 대한 질문” 에서는
TArray의 기능과 문법 오버로딩에 관한 설명이 있습니다. 해당 질문에서는TArray의 다양한 사용 방법에 대해 다루고 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






감사합니다