Quel est l'équivalent C++ de #region pour C++ afin que je puisse insérer des bits réductibles de code personnalisé et rendre mon code un peu plus facile à lire?
Le mot clé Region est IDE spécifique et affecte le rendu dans Visual Studio. L'équivalent le plus proche est # pragma Region qui s'applique à Visual Studio uniquement .
Exemple de code de MSDN
// pragma_directives_region.cpp
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
int main() {}
En plus de #pragma region
… #pragma endregion
pour Visual Studio, de nombreux IDE prennent en charge la syntaxe suivante pour les régions dans n'importe quel {}
- délimité, //
- langue commentée:
//{ Region header text.
…
//}
Les exemples notables incluent Code :: Blocks et FlashDevelop , et tout autre éditeur qui utilise le composant d'édition Scintilla , tel que Notepad ++ , Geany , Komodo Edit , et bien d'autres.
Il n'y a pas d'équivalent en C++. Cependant, les IDE devraient pouvoir réduire les sections.
Il est également possible d'utiliser quelque chose comme ceci:
#pragma region
#pragma endregion A comment about the region.
Mais probablement pas très portable
Il n'y a pas d'équivalent. Le #region
feature fait partie de la spécification C #.
C++ n'a pas un tel équivalent. Vous pouvez éventuellement l'imiter avec des commentaires spécialement formatés, mais ce serait spécifique à l'éditeur.
Pour Visual Studio, vous pouvez utiliser:
#pragma region name
...
#pragma endregion name
J'utilise
#ifndef ANY_NAME_FOR_THIS_REGION
...
#endif
pour plusieurs projets au cours des deux dernières années et cela me convient (y compris les blocs pliables). en plus, je peux désactiver le bloc en utilisant #define ANY_NAME_FOR_THIS_REGION juste au-dessus.
Kate, KDevelop et tous les autres éditeurs de texte et IDE qui utilisent Katepart prennent en charge le marquage des régions avec //BEGIN
et //END
Marqueurs.
// 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
Vous pourrez réduire une région définie de cette manière.
Il n'y a pas d'équivalent.
La plupart des bons éditeurs ou IDE vous permettront de réduire les fonctions, sinon aussi if
/else
/while
/for
/etc.
C++ Builder prend en charge cela, mais vous devez déclarer la région comme:
#pragma region BLAH
.....
#pragma end_region
Vous devez utiliser end_region pour C++ Builder, mais cela fonctionnera , et il effondrera la région!
Juste un ajout à d'autres réponses. La définition de région varie de IDE à IDE.
Pour le développement Mac en Xcode vous pouvez utiliser un pragma:
#pragma mark