Equivalent of #region for C++

前端 未结 10 1042
無奈伤痛
無奈伤痛 2020-12-24 04:17

What\'s the C++ equivalent of #region for C++ so I can put in custom code collapsible bits and make my code a little easier to read?

相关标签:
10条回答
  • 2020-12-24 04:45

    Kate, KDevelop and all other text editors and IDEs which use Katepart supports marking regions with //BEGIN and //END markers.

    // 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
    

    You will be able to collapse a region defined in such way.

    0 讨论(0)
  • 2020-12-24 04:49

    There is no equivalent. The #region feature is part of the C# specification.

    C++ has no such equivalent. You could possibly mimic it with specially formatted comments, but this would be editor specific.

    For Visual Studio you can use:

    #pragma region name
    ...
    #pragma endregion name
    
    0 讨论(0)
  • The Region keyword is IDE specific and affects rendering in Visual Studio. The nearest equivalent is #pragma Region which is applicable to Visual Studio only .

    Code example from MSDN

    // pragma_directives_region.cpp
    #pragma region Region_1
    void Test() {}
    void Test2() {}
    void Test3() {}
    #pragma endregion Region_1
    
    int main() {}
    
    0 讨论(0)
  • 2020-12-24 04:51

    I've been using

    #ifndef ANY_NAME_FOR_THIS_REGION
        ...
    #endif
    

    for several projects during the last couple of years and that suits me (including collapsible blocks). as an addition, i can disable the block using #define ANY_NAME_FOR_THIS_REGION just above it.

    0 讨论(0)
  • 2020-12-24 05:02

    C++Builder does support this, but you must declare the region as:

    #pragma region BLAH
    
    .....
    
    #pragma end_region
    

    You must use end_region for C++Builder, but it will work, and it will collapse the region!

    0 讨论(0)
  • 2020-12-24 05:04

    There is no equivalent.

    Most good editors or IDEs will let you collapse functions, if not also if/else/while/for/etc.

    0 讨论(0)
提交回复
热议问题