&, * 연산자 처리
&, * 연산자를 활용하면 참조할 수 있습니다.
& 연산자는 메모리 주소를 알려주고,
* 연산자는 그 메모리 주소에 접근하게 해 줍니다.
일반적인 경우
예)
a = 1
b = a
b = 2
이렇게하면 a는 1, b는 2 가 됩니다.
인트값은 참조되지 않고 새로이 메모리에서 할당을 받게 되는데요.
- Array의 경우는 참조되죠~
이를 새로 할당하지 않고 기존 할당된 메모리를 그대로 사용하려면 다음처럼 하면 됩니다.
예)
a = 1
b = &a
*b = 2
이렇게 하면 a는 2, b는 a의 주소가 됩니다.
*b = 2를 하면 a의 메모리에 직접 값을 넣기에 a의 값이 변하게 되는겁니다.
아래처럼 사용하면 안되요~
예)
a = 1
b = &a
b = 2
이렇게하면 b = 2가 되면서 참조되지 않습니다.
주의~
'Max' 카테고리의 다른 글
Maxscript) isValidNode (노드 유효성 체크) (0) | 2020.03.25 |
---|---|
Maxscript) Mirror Copy V.2(본의 미러링과 키 복사) (2) | 2020.03.19 |
Max 오브젝트 선택 아웃라인 보이지 않게 하기 (0) | 2016.12.06 |
Maxscript) 긴 배열을 문자열 그대로 변환하기 (0) | 2016.11.22 |
Maxscript) Mirror Copy (본의 미러링과 키 복사) (3) | 2016.08.02 |