swift에서의 컬렉션은 구조체이나, 값의 복사를 바로 하지는 않는다.

냐옹·2024년 7월 12일
0

IOS

목록 보기
17/32

swift에서의 컬렉션은 구조체이나, 값의 복사를 바로 하지는 않는다.

  • swift에서의 컬렉션은 struct이다. 때문에 다음의 코드에서
var array1 : [Int] = [1,2,3,4]

var array2 : [Int] = array1

을 한다면 원래는 값복사가 일어나야 한다.

메모리 상에서

array1 -------------> [1,2,3,4]
array2 -------------> [1,2,3,4]

이렇게 존재해야하지만

우리가 array2 = array1을 했을 때 array2의 내용을 바꾸지 않는다면

array1 -------------> [1,2,3,4] <------------- array2

array2는 array1의 메모리 공간을 참조하게 된다.
그리고 나서 array2에다가 5를 추가하게 되면 그제서야

array1 -------------> [1,2,3,4]
array2 -------------> [1,2,3,4,5]

과 된다.

0개의 댓글