무언가가 예상대로 작동합니다배열이 때때로 링크되는 이유는 무엇입니까? 이 같은
이 Dim test(1) As Integer
test = {1, 2}
Dim test2(1) As Integer
test2 = test
test = {3, 4}
test2 = {4, 5}
하지만 가끔은 다른 동일하게 하나 개의 배열을 설정 한 후, 하나의 변경은 다른 영향을 미칠 것입니다. 이로 인해 어디서나 .clone
을 추가해야합니다. 왜 이런거야?
배열 변수는 기본적으로 데이터를 가리키는 메모리 주소를 보유합니다. test2 = test로 설정하면 데이터 자체가 아닌 데이터를 가리키는 주소가 복사됩니다. 당신은 첫 번째 배열로부터 새로운 배열을 redim해야한다. – soohoonigan
배열 변수는 배열 데이터에 대한 포인터 일뿐입니다. 배열 변수를 다른 배열 변수로 할당하면 두 변수가 동일한 데이터를 가리 킵니다. 변경은 두 배열 모두에 적용됩니다. –
배열이 참조 유형입니다. 변수는 메모리의 데이터 만 가리 킵니다. [** the MSDN **] (https://msdn.microsoft.com/en-us/library/t63sy5hs.aspx)에서 참조 유형 및 값 유형에 대해 읽을 수 있습니다. –