//TryGetValue함수 이용하여 첫번째 인자로 받은 level + 1가 유효한 키 값인지 확인을 먼저하고 out 키워드를 이용해 stat을 반환. 이게 false라면 레벨업x
if(Managers.Data.StatDict.TryGetValue(level + 1, out stat) == false)
{
break;
}
out 키워드를 사용하면 인라이닝이 되어 별도의 변수를 선언하지 않아도 해당 영역 안에서 out stat을 사용할 수 있다.
- 인라인(Inline)
인라인이라는 의미는 코드 라인 자체가 안으로 들어간다는 뜻. 즉, 함수의 내용을 호출을 통해서 실행시키는 것이 아니라, 호출하는 코드 자체가 함수 내용의 코드가 되는 효과가 된다는 점이다
| 인라인 함수의 장점
인라인함수는 #define 매크로와 기능이 유사하지만, 인라인 함수만의 장점이 있다.
1. 인라인 함수의 전달인자에 데이터형을 체크할 수 있다.
(매크로 기능을 활용할 경우에는 파라미터와 리턴값의 데이터 타입을 정확히 '명시'할 수 없게 된다.)
2. 매크로가 갖는 부작용 없이 일반 함수처럼 사용이 가능하다.
(매크로를 사용시에 increment등으로 변수를 넘겨줄 경우 일반적으로 함수를 사용할 때와는 다른 값을 얻게 되는 경우가 많다.)
3. 디버깅이 가능하다. 즉, 현재 변수에 어떤 값이 들어가 있는지 알 수 있다.
| 인라인 함수의 단점
1. 실행 코드가 커진다.
2. 인라인 함수의 구현을 짧게 작성해야 한다. 만약 구현의 내용이 길어진다면 컴파일러는 인라인 함수를 일반 함수로 취급하게 된다.
출처: https://thinkpro.tistory.com/140 [THINK-PRO BLOG]
728x90
반응형
'Unity' 카테고리의 다른 글
유니티 충돌 관련 기억해야 할 부분 (0) | 2022.03.04 |
---|---|
Spawning Pool (0) | 2022.02.20 |
GameObject Destroy (0) | 2021.12.23 |
애니메이션 특정 Event 추가_실수 (0) | 2021.12.15 |
앞으로 걷는 애니메이션 제자리에서 걷게 만들기 (0) | 2021.12.10 |
댓글