enum class ( scoped enum )
1) 이름 공간 관리 ( scoped)
2) 암묵적인 변환 금지
기존의 enum은 unscoped type 이라서 같은 이름의 enum 타입이 있으면 안됐었다.
11 부터는 enum class 를 사용한다.
기존의 enum은 진짜 숫자 0,1,2,3,4 등과 똑같아서
double a = PT_KNIGHT ; 해도 암묵적으로 변환시켜줬다.
그러나 enum class 는 암묵적인 변환을 시켜주지 않는다.

static_cast 를 하면 가능

delete
암묵적으로 어떠한 함수 호출이 안되도록 막을때 자주 사용
예를 들자면 실습에서 nullptr 만들때 nullptr이라는 어떤 주솟값을 지닌애가 아니기 때문에 operator& ( & 연산자) 를 막아야만 했다.
고전적인 방법으로는 간단하게 operator&를 private로 정의해서 사용하지 못하게 했다.
그러나 friend 라는 키워드로 그것을 뚫어줄 수 있기 때문에 어떻게 보면 반쪽 짜리 방패였다.
그래서 delete 를 쓴다.
통상적으로 public 으로 해주는게 관례이다.

'C++과 언리얼로 만드는 게임 개발 > Part1. C++ 문법' 카테고리의 다른 글
람다(lambda) && 스마트 포인터 (0) | 2022.05.02 |
---|---|
Day13 ( 84.82% ) (0) | 2022.04.26 |
Day11 ( 80.36% ) (0) | 2022.04.17 |
Day10 ( 79.46% ) (0) | 2022.04.17 |
Day9 ( 71.42% ) (0) | 2022.04.04 |