매크로 매개 변수가 허용 된 매개 변수 중 하나인지 확인 하시겠습니까?

eof

다음과 같은 작업을 수행하고 싶습니다.

#define FOO(bar, ...) \
  static_assert(bar == "foo" || bar == "bazz", "Invalid value for bar") \
  ...

즉, 컴파일 타임에 매크로에 주어진 값이 허용 된 값 중 하나인지 확인하고 싶습니다. 가변 길이의 문자열과 비교할 때 컴파일 시간 문자열 비교를 수행하는 가장 깨끗한 방법은 무엇입니까?

인디애나 케닉

문자열보기를 사용할 수 있습니다.

#include <string_view>

using namespace std::string_view_literals;

// Note the sv after the string
#define FOO(bar, ...) \
  static_assert(bar == "foo"sv || bar == "bazz"sv, "Invalid value for bar") \
  ...

표현식 "foo"sv은 리터럴 연산자를 호출합니다. 그것은을 구성 std::string_view에서 "foo". 문자열과 비교하기 위해 std::string_view오버로드 된 ==연산자가 있습니다. 이러한 오버로드 된 연산자는 constexpr컴파일 타임에 평가할 수 있음을 의미합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

argparse 매개 변수 중 하나만 존재하는지 확인하는 방법

분류에서Dev

매개 변수화 된 개체를 변수로 확인할 수 없습니다.

분류에서Dev

중첩 된 매개 변수 확장을 인용하는 올바른 방법은 무엇입니까?

분류에서Dev

개체를 복제하지 않고 인수를 새 개체 매개 변수로 변환 하시겠습니까?

분류에서Dev

중첩 매개 변수화 된 클로저 인수 예외

분류에서Dev

함수 포인터를 템플릿 함수 유형 매개 변수로 사용 하시겠습니까?

분류에서Dev

두 개의 & str 매개 변수를 허용하고 둘 중 하나를 반환 할 수 있습니까?

분류에서Dev

Ajax 호출 매개 변수가 @Model을 매개 변수 값으로 허용하지 않습니다.

분류에서Dev

lxtask는 cmd 라인 매개 변수를 허용합니까?

분류에서Dev

매크로에서 의도하지 않은 매개 변수 다중 평가

분류에서Dev

PL / SQL 매개 변수로 지정된 YYYYMMDD 날짜를 확인하는 방법

분류에서Dev

Rails 4-화이트리스트에도 불구하고 중첩 된 매개 변수에 허용되지 않는 매개 변수

분류에서Dev

매개 변수 확장을 인용하고 매개 변수 이름을 중괄호로 묶어야하는 경우

분류에서Dev

Rails : 중첩 된 속성을 사용하는 허용되지 않는 매개 변수

분류에서Dev

Paperclip을 사용하는 중첩 된 속성의 허용되지 않는 매개 변수

분류에서Dev

Ruby on Rails : 일부 매개 변수가 중첩 된 속성 인 경우 강력한 매개 변수를 연결하는 방법은 무엇입니까?

분류에서Dev

허용되지 않는 매개 변수 : 중첩 된 양식의 student_ids

분류에서Dev

c 매크로, 매개 변수 확인 및 nop로 대체

분류에서Dev

매개 변수의 매개 변수가 존재하는지 확인하는 방법은 무엇입니까?

분류에서Dev

매개 변수의 매개 변수가 존재하는지 확인하는 방법은 무엇입니까?

분류에서Dev

매개 변수를 사용하여 열을 추가 하시겠습니까?

분류에서Dev

하나의 GET 매개 변수 만 허용 목록에 추가

분류에서Dev

가변 인수 (3 개 이상의 매개 변수)를 사용할 수있는 최대 또는 최소 매크로를 구현할 수 있습니까?

분류에서Dev

Zend Framework 오류 : 잘못된 매개 변수 번호 : 바인딩 된 매개 변수가 없습니다. '

분류에서Dev

중첩 된 매크로에서 줄임표를 통해 가변 개수의 인수를 캡처합니다. 패턴 변수 누락 오류

분류에서Dev

사용자 매개 변수가 Firebase의 값과 일치하는지 어떻게 확인하나요?

분류에서Dev

Powershell 인수 '10'을 허용하는 위치 매개 변수를 찾을 수 없습니다. 위치 매개 변수를 사용하지 않는 동안

분류에서Dev

* 매개 변수가 하나의 인수와 일치하지 않는 MVC 경로

분류에서Dev

중첩 된 TabNavigator가 매개 변수를 경로에 전달하지 않음

Related 관련 기사

  1. 1

    argparse 매개 변수 중 하나만 존재하는지 확인하는 방법

  2. 2

    매개 변수화 된 개체를 변수로 확인할 수 없습니다.

  3. 3

    중첩 된 매개 변수 확장을 인용하는 올바른 방법은 무엇입니까?

  4. 4

    개체를 복제하지 않고 인수를 새 개체 매개 변수로 변환 하시겠습니까?

  5. 5

    중첩 매개 변수화 된 클로저 인수 예외

  6. 6

    함수 포인터를 템플릿 함수 유형 매개 변수로 사용 하시겠습니까?

  7. 7

    두 개의 & str 매개 변수를 허용하고 둘 중 하나를 반환 할 수 있습니까?

  8. 8

    Ajax 호출 매개 변수가 @Model을 매개 변수 값으로 허용하지 않습니다.

  9. 9

    lxtask는 cmd 라인 매개 변수를 허용합니까?

  10. 10

    매크로에서 의도하지 않은 매개 변수 다중 평가

  11. 11

    PL / SQL 매개 변수로 지정된 YYYYMMDD 날짜를 확인하는 방법

  12. 12

    Rails 4-화이트리스트에도 불구하고 중첩 된 매개 변수에 허용되지 않는 매개 변수

  13. 13

    매개 변수 확장을 인용하고 매개 변수 이름을 중괄호로 묶어야하는 경우

  14. 14

    Rails : 중첩 된 속성을 사용하는 허용되지 않는 매개 변수

  15. 15

    Paperclip을 사용하는 중첩 된 속성의 허용되지 않는 매개 변수

  16. 16

    Ruby on Rails : 일부 매개 변수가 중첩 된 속성 인 경우 강력한 매개 변수를 연결하는 방법은 무엇입니까?

  17. 17

    허용되지 않는 매개 변수 : 중첩 된 양식의 student_ids

  18. 18

    c 매크로, 매개 변수 확인 및 nop로 대체

  19. 19

    매개 변수의 매개 변수가 존재하는지 확인하는 방법은 무엇입니까?

  20. 20

    매개 변수의 매개 변수가 존재하는지 확인하는 방법은 무엇입니까?

  21. 21

    매개 변수를 사용하여 열을 추가 하시겠습니까?

  22. 22

    하나의 GET 매개 변수 만 허용 목록에 추가

  23. 23

    가변 인수 (3 개 이상의 매개 변수)를 사용할 수있는 최대 또는 최소 매크로를 구현할 수 있습니까?

  24. 24

    Zend Framework 오류 : 잘못된 매개 변수 번호 : 바인딩 된 매개 변수가 없습니다. '

  25. 25

    중첩 된 매크로에서 줄임표를 통해 가변 개수의 인수를 캡처합니다. 패턴 변수 누락 오류

  26. 26

    사용자 매개 변수가 Firebase의 값과 일치하는지 어떻게 확인하나요?

  27. 27

    Powershell 인수 '10'을 허용하는 위치 매개 변수를 찾을 수 없습니다. 위치 매개 변수를 사용하지 않는 동안

  28. 28

    * 매개 변수가 하나의 인수와 일치하지 않는 MVC 경로

  29. 29

    중첩 된 TabNavigator가 매개 변수를 경로에 전달하지 않음

뜨겁다태그

보관