C ++ 용 #region에 해당하는 C ++는 무엇인가요? 맞춤 코드 축소 가능 비트를 입력하고 코드를 좀 더 읽기 쉽게 만들 수 있나요?
#region, C #에 관한 한 유효한 구문이며 코드 영역을 설명합니다. Visual Studio를 사용하면 IDE 기능으로 접을 수 있습니다.
C ++ 용 #region에 해당하는 C ++는 무엇인가요? 맞춤 코드 축소 가능 비트를 입력하고 코드를 좀 더 읽기 쉽게 만들 수 있나요?
#region, C #에 관한 한 유효한 구문이며 코드 영역을 설명합니다. Visual Studio를 사용하면 IDE 기능으로 접을 수 있습니다.
답변:
지역 키워드는 IDE 고유의 것입니다 및 Visual Studio에서 렌더링에 영향을 미칩니다. 가장 가까운 지역 은 Visual Studio에만 적용되는 #pragma 지역 입니다.
MSDN의 코드 예제
// pragma_directives_region.cpp
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
int main() {}
#pragma region합니까? 그것을 거부하는 C 컴파일러가 있습니까? 결과가 전혀 없습니까? 감사합니다
Mingw. 를 사용하면 gcc -Wall알 수없는 pragma에 대한 경고가 표시됩니다. 좋아요 : warning: ignoring #pragma region test [-Wunknown-pragmas]그리고warning: ignoring #pragma endregion [-Wunknown-pragmas]
뿐만 아니라 #pragma region... #pragma endregion비주얼 스튜디오에 대한 많은 십오 어떤에서 지역에 대한 다음과 같은 구문 지원 {}-delimited, //해설되어 언어 :
//{ Region header text.
…
//}
주목할만한 예에는 Code :: Blocks 및 FlashDevelop , 그리고 Notepad ++ , Geany , Komodo Edit 등과 같은 Scintilla 편집 구성 요소 를 사용하는 기타 편집기가 포함됩니다 .
동등한 것은 없습니다. 이 #region기능 은 C # 사양의 일부입니다.
C ++에는 이와 같은 기능이 없습니다. 특별히 형식이 지정된 주석으로 모방 할 수 있지만 이것은 편집기에 따라 다릅니다.
Visual Studio의 경우 다음을 사용할 수 있습니다.
#pragma region name
...
#pragma endregion name
#pragma region 입니다 모든 의도와 목적 동등한 기능을 위해.
#region사양에 정의되어 있으며 사양을 준수하는 IDE는 영역 축소를 허용해야합니다 #pragma region. 이는 .
나는 사용하고있다
#ifndef ANY_NAME_FOR_THIS_REGION
...
#endif
지난 몇 년 동안 여러 프로젝트에서 저에게 적합합니다 (접을 수있는 블록 포함). 또한 바로 위에있는 #define ANY_NAME_FOR_THIS_REGION을 사용하여 차단을 비활성화 할 수 있습니다.
C ++ Builder 는이를 지원하지만 지역을 다음과 같이 선언해야합니다.
#pragma region BLAH
.....
#pragma end_region
당신은 해야한다 C ++ 빌더에 대한 end_region를 사용하지만, 그것은 것입니다 작동, 그것은 것입니다 지역을 축소!
Katepart 를 사용하는 Kate, KDevelop 및 기타 모든 텍스트 편집기 및 IDE 는 //BEGIN및 //END마커가있는 영역 표시를 지원합니다 .
// BEGIN GPT entity types
#define GPT_ENT_TYPE_UNUSED \
{0x00000000,0x0000,0x0000,0x00,0x00,{0x00,0x00,0x00,0x00,0x00,0x00}}
#define GPT_ENT_TYPE_EFI \
{0xc12a7328,0xf81f,0x11d2,0xba,0x4b,{0x00,0xa0,0xc9,0x3e,0xc9,0x3b}}
#define GPT_ENT_TYPE_MBR \
{0x024dee41,0x33e7,0x11d3,0x9d,0x69,{0x00,0x08,0xc7,0x81,0xf3,0x9f}}
// END
이러한 방식으로 정의 된 영역을 축소 할 수 있습니다.