본문 바로가기
C++20/Language

[C++20 - Language] Chapter 09. using enum in Local Scopes

by song.ift 2023. 7. 28.

GitHub : https://github.com/developeSHG/CPP20-Language/commit/572b234b3ae4224a14d3d8c1e6be1cb0669745f7

 

using enum in Local Scopes · developeSHG/CPP20-Language@572b234

developeSHG committed Jul 28, 2023

github.com

 

 


 

 

지역 범위에서도 using enum을 사용할 수 있다.

cpp
닫기
#include <iostream> using namespace std; #include <list> #include <vector> #include <map> #include <algorithm> #include <ranges> #include <concepts> #include <coroutine> #include <array> // 오늘의 주제 : using enum in Local Scopes // 지역 범위에서도 using enum을 사용할 수 있다. enum class Color { ‌Red, ‌Green, ‌Blue, }; using enum Color; // 이걸 main 코드에 Color::Red가 아닌 Red만 정의 가능. // 하지만, 이렇게 외부에 Color를 using 해버리게 되면, // 혹시라도 나중에 사용하지 않을 때도 불구하고, 인식해버리게 되는 경우가 생길 수 있다. // 그래서 전역으로 하는 게 아닌, 부분적으로 열어줄 수 있는 방법이 추가되었다. int main() { ‌Color color = Color::Blue; switch (color) ‌{ ‌‌case Red : ‌‌‌break; ‌‌case Green: ‌‌‌break; ‌‌case Blue: ‌‌‌break; ‌} // C++20 추가된 기능 // 전역에 선언된 using enum은 없다고 가정하고 테스트 switch (color) ‌{ ‌‌using enum Color; case Red: ‌‌break; case Green: ‌‌break; case Blue: ‌‌break; ‌} }

 

 

댓글