相当于C++的#region

Sir*_*lot 70 c# c++

C++的#region的C++等价物是什么,所以我可以放入自定义代码可折叠位并使我的代码更容易阅读?

Dr.*_*ABT 79

地区的关键字是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() {}
Run Code Online (Sandbox Code Playgroud)


Jon*_*rdy 25

除了#pragma region... #pragma endregion对于Visual Studio,许多IDE支持以任何已{}定义,//注释语言的区域的以下语法:

//{ Region header text.
…
//}
Run Code Online (Sandbox Code Playgroud)

值得注意的例子包括Code :: BlocksFlashDevelop,以及使用Scintilla编辑组件的任何其他编辑器,如Notepad ++,Geany,Komodo Edit等等.


Fir*_*gon 10

在C++中没有等价物.但是,IDE应该能够折叠部分.

也可以使用这样的东西:

#pragma region

#pragma endregion A comment about the region.
Run Code Online (Sandbox Code Playgroud)

但可能不是很便携


Ode*_*ded 9

没有等价物.该#region功能是C#规范的一部分.

C++没有这样的等价物.您可以使用特殊格式的注释来模仿它,但这将是特定于编辑器的.

对于Visual Studio,您可以使用:

#pragma region name
...
#pragma endregion name
Run Code Online (Sandbox Code Playgroud)

  • @DmitriNesteruk - 不,它不是 - 如果您使用任何不是Visual Studio的IDE.`#region`在规范中定义,符合规范的IDE应该允许折叠区域 - 这不能说是`#pragma region`. (6认同)

Dro*_*out 6

我一直在用

#ifndef ANY_NAME_FOR_THIS_REGION
    ...
#endif
Run Code Online (Sandbox Code Playgroud)

过去几年中的几个项目适合我(包括可折叠的块).作为补充,我可以使用正上方的#define ANY_NAME_FOR_THIS_REGION禁用该块.