반응형
<질문>
#ifdef 에 'or' 조건을 추가하려면 어떻게 해야 하나요?
나는 시도했다:
#ifdef CONDITION1 || CONDITION2
#endif
이것은 작동하지 않습니다.
<답변1>
#if defined(CONDITION1) || defined(CONDITION2)
작동해야합니다. :)
#ifdef
타이핑이 조금 덜하지만 더 복잡한 조건에서는 잘 작동하지 않습니다.
<답변2>
이것을 사용할 수 있습니다-
#if defined CONDITION1 || defined CONDITION2
//your code here
#endif
이것도 마찬가지에요-
#if defined(CONDITION1) || defined(CONDITION2)
//your code here
#endif
더 나아가-
- 그리고:
#if defined CONDITION1 && defined CONDITION2
- 무료:
#if defined CONDITION1 ^ defined CONDITION2
- 그리고 하지 말아야 할 것:
#if defined CONDITION1 && !defined CONDITION2
<답변3>
이것을 확인하십시오:
#if defined __WINDOWS__ && ( _MSC_VER >= 1700 )
enum class FUTURES_DS_STAGE{
...
};
#else
enum FUTURES_DS_STAGE{
...
};
#endif
<답변4>
나는 유지 관리에 대해 정말로 강박적이다.엄격한 열 제한, 그리고 "\"의 팬이 아닙니다. 뒤에 주석을 달 수 없기 때문에 줄 연속을 사용하는 방법은 다음과 같습니다.
//|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|//
#ifdef CONDITION_01 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef CONDITION_02 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef CONDITION_03 //| |//
#define TEMP_MACRO //| |//
#endif //| |//
#ifdef TEMP_MACRO //| |//
//|- -- -- -- -- -- -- -- -- -- -|//
printf("[IF_CONDITION:(1|2|3)]\n");
//|- -- -- -- -- -- -- -- -- -- -|//
#endif //| |//
#undef TEMP_MACRO //| |//
//|________________________________________|//
반응형
'개발 > C++' 카테고리의 다른 글
[C++] tan과 tan2의 차이점은 무엇입니까? (0) | 2022.10.14 |
---|---|
구문을 사용하여 C++11에서 함수 포인터를 어떻게 typedef합니까? (0) | 2022.10.14 |
C ++에서 int를 문자열로 변환하는 가장 쉬운 방법 (0) | 2020.09.30 |
STL 또는 Qt 컨테이너? (0) | 2020.09.30 |