#region与C ++的C ++等效是什么,因此我可以放入自定义代码可折叠位,并使代码更易于阅读?
#region就C#而言,是有效的语法并描述了代码区域。Visual Studio允许您将它们折叠起来,作为一种IDE功能。
#region与C ++的C ++等效是什么,因此我可以放入自定义代码可折叠位,并使代码更易于阅读?
#region就C#而言,是有效的语法并描述了代码区域。Visual Studio允许您将它们折叠起来,作为一种IDE功能。
Answers:
该地区的关键字是IDE具体和Visual Studio中会影响渲染。最接近的等效项是#pragma Region,仅适用于Visual Studio。
来自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,显示有关未知实用程序的警告。我爱: warning: ignoring #pragma region test [-Wunknown-pragmas]和warning: ignoring #pragma endregion [-Wunknown-pragmas]
除了用于Visual Studio的#pragma region…之外#pragma endregion,许多IDE还在任何-{}分隔的-//注释语言中支持以下语法:
//{ Region header text.
…
//}
值得注意的示例包括Code :: Blocks和FlashDevelop,以及使用Scintilla编辑组件的任何其他编辑器,例如Notepad ++,Geany,Komodo Edit等等。
没有对等的东西。该#region功能是C#规范的一部分。
C ++没有这样的等效项。您可以使用特殊格式的注释来模仿它,但这将是特定于编辑器的。
对于Visual Studio,您可以使用:
#pragma region name
...
#pragma endregion name
#pragma region is都是其功能等效项。
#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
您必须使用end_region对于C ++ Builder,但它会工作,它会崩溃的区域!
Kate,KDevelop以及使用Katepart的所有其他文本编辑器和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
您将能够折叠以这种方式定义的区域。
这个问题的第一个答案提到了另一种选择。但是,它并不适用于所有情况。
方法:改用{...},它本身支持Visual Studio中的代码折叠。
启用选项:工具->选项->文本编辑器-> C / C ++->格式->大纲语句块-> True。
将您放在不同的范围{...}中,然后它将代码折叠到不同的范围中:
