enum class, deleted function

oak_cassia·2021년 12월 20일
0

enum class

  1. 이름공간 관리

enum은 사용하면 해당 스코프에서 그냥 접근이 가능하다. 그래서 enum에서 지정한 이름을 사용할 수 없다. 그러나 enum class는 범위 한정자(::)를 사용하여 접근해야 한다(이름 충돌 방지). 같은 이름을 다른 곳에서 쓸 수 있다.

  1. 암묵적인 변환 금지
    enum은 정수형 변수와 암시적으로 변환이 가능하다.(편함)
    enum class는 static_cast 사용해야한다.

deleted function

함수를 삭제하면 그 함수를 호출하는 것은 안된다.
코드의 의도를 분명히 전할 수 있다.

Dog(const &Dog a) { } = delete;
profile
벽에 붙은 달팽이 ↑i@

0개의 댓글