본문 바로가기

카테고리 없음

[TIL] 24.03.21

#Morning Algorithm

 - 프로그래머스 둘만의 암호

 - 해결

 - 28분

 - String 맵핑함수에서 "Generic parameter 'T' could not be inferred" 에러

     - for문으로 돌면서 해결

 - StringElemnet와 Character string.map으로 접근할때 조심 

 

# Closure 의 캡처

 - 외부 변수를 사용할 때 외부 context가 종료 되더라도 사용중인 변수는 계속 사용하기 위해서 캡처함

 - reference type으로 캡처함(arc count 1 증가 시킴)

 - heap 영역에 closure 인스턴스에 해당 변수의 주소값으로 접근하며 클로저가 실제로 실행될 때 접근

    - 캡처 이후, 클로저 실행전 값이 바뀌면 참조된 주소값으로 접근하기 때문에 값이 바뀌어 있음

 - 값 자체를 저장하기 위해 캡처 리스트 사용

    - reference type: 변수 자체가 주솟값을 가지고 있으므로 해당 변수의 주솟값이 아닌 해당 변수가 가리키고 있는 주솟값을 복사

    - value type: 변수가 가지고 있는 값 자체를 복사