-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
7:29초 질문 드립니다.
22.05.19 23:25 작성 조회수 158
1
class Vertex
{
public List<Vertex> edges = new List<Vertex>();
}
Graph()
{
List<Vertex> edges = new List<Vertex>(6);
}
여기서 버텍스 클래스를 선언할 때 리스트를 new해주는데
왜 그래프함수 안에서 또 new를 해주는 걸까요
그리고 List<Vertex>이게 어떻게 가능한지 궁금합니다...
전의 강의를 봐도 이해가 잘 안 갑니다
답변을 작성해보세요.
1
Rookiss
지식공유자2022.05.19
List<T> 타입에 대해 new List<T>(6)를 해주면
T를 담는 공간 6개를 할당해줍니다.
[T][T][T][T][T][T] 요런 식으로요.
문제는 T가 int같은 일반형이 아니라 class 타입이면,
기본값이 null이기 때문에
[null][null][null][null][null][null] 이런 형태로 있습니다.
따라서 new Vertex로 일일히 채워주고 있는 것입니다.
결과적으로 [Vertex주소값][Vertex주소값][Vertex주소값][Vertex주소값][Vertex주소값][Vertex주소값]
이 됩니다.
답변 1