보통 enum을 사용하게되면 스코프 지정이 안되서 이곳저곳에서 사용함.

 

때문에 아래처럼 또 다른 enum에서 같은 이름의 타입이 있는 상태에서 Red를 이용하게 되면

재정의 한다고 에러뜸.

 

이에 대한 해결 방법은 enum class를 이용하면 됨. (c++11이상에서 사용)

 

 

사용할 때 스코프 지정 연산자 "::"을 이용해서 사용하면 된다.

더 자세히 알고 싶으면 아래 링크로.

www.cppkorea.org/CppCoreGuidelines/Enum/

 

Enum - C++ 핵심 가이드라인

Enum: 열거형 역주 : 열거형(enumeration) 역주 : 열거체(enumerator) 역주 : 열거값(enumerator value) 열거형은 정수 값의 집합을 정의하는데 사용되며, 그런 값들의 집합을 타입으로 정의하는데 사용된다. 열

www.cppkorea.org

 

 

R"()" 을 이용하면 여러줄에 걸쳐 작성할 수 있습니다. R"(과 ") 사이에 문자열을 입력하면 됩니다.

사용 방법: R"(문자입력)"

 

코드

 

실행 화면

 

 

로우 문자열 리터럴은 R"( 과 )"  사이에 )"를 사용지 못합니다.  )"로 끝나기 때문입니다.

 

문자열 중간에 ")를 포함하려면 확장된 로우 문자열 리터럴을 사용해야 합니다.

 

중간에 )"를 넣지 못한다.

중간에 ")를 포함하려면 시작과 끝부분에 구문자를 지정해줘야 합니다.

구문자는 최대 16문자까지 구성할 수 있고 사용자가 직접 정해서 쓰면 됩니다.

 

 

이번 예제같은 경우는 "ABC"를 구문자로 설정하여 실행 해봤습니다.

아래는 ABC( 와   )ABC 사이에 ")를 출력하는 코드입니다.

 

 

실행결과 ")가 잘 나오는것을 확인할 수 있습니다.

 

실행 화면

 

데이터베이스 쿼리 문자열, 정규 표현식 등을 사용할 때 이스케이프 처리 문제를 해결할 수 있습니다.

+ Recent posts