>백엔드 개발 >Golang >참조를 유지하지만 데이터를 실제 변수에 할당하지 않는 것이 안전합니까?

참조를 유지하지만 데이터를 실제 변수에 할당하지 않는 것이 안전합니까?

PHPz
PHPz앞으로
2024-02-08 21:42:09946검색

참조를 유지하지만 데이터를 실제 변수에 할당하지 않는 것이 안전합니까?

php Editor Banana 참조를 유지하지만 실제 변수에 데이터를 할당하지 않는 것이 안전한지 논의할 때 참조와 변수 할당이 어떻게 작동하는지 이해해야 합니다. PHP에서 참조는 동일한 메모리 공간을 공유하는 변수의 메모리 주소를 가리키는 별칭입니다. 참조를 유지하지만 데이터를 실제 변수에 할당하지 않으면 실제로는 구체적인 데이터가 아닌 공간에 대한 참조가 생성됩니다. 이 접근 방식은 일부 상황에서는 안전하지만 몇 가지 주의 사항이 있습니다.

질문 내용

슬라이스에 참조 목록을 보관하고 싶지만 변수에 할당하지 않고 참조를 유지하는 것이 안전한지 설명하는 온라인 리소스를 찾을 수 없습니다.

내 말은, 운영 체제가 프로그래머가 예상하지 못한 내용을 참조 주소에 쓰는 것이 가능하다는 뜻인가요?

샘플 코드는 다음과 같습니다.

으아악

즉, list라는 슬라이스의 항목이 프로그램이 실행되는 동안 시간이 얼마나 걸리더라도 동일하게 유지된다는 것이 보장됩니까?

해결 방법

귀하의 경우에는 해당되지 않을 수도 있지만(참조는 동일하게 유지됨) 프로그램에서 수행하는 작업에 따라 달라집니다.

Go 런타임은 프로그램 수명 동안 슬라이스에 저장된 참조(포인터)를 변경하지 않지만 다음과 같은 조건이 있습니다. - 함수에서 슬라이스 또는 해당 요소 포인터([8]uint64 배열)를 재할당하지 않습니다. 조각의 요소에 새 값을 다시 할당하지 않는 한 참조는 변경되지 않은 상태로 유지됩니다.

위 내용은 참조를 유지하지만 데이터를 실제 변수에 할당하지 않는 것이 안전합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제