¿Cuál es el equivalente en C++ de #region para C++, así que puedo poner códigos plegables personalizados y hacer que mi código sea un poco más fácil de leer?Equivalente a #region para C++
Respuesta
El Region keyword es IDE específico y afecta a la representación en Visual Studio. El equivalente más cercano es #pragma Region que solo se aplica a Visual Studio.
ejemplo Código de MSDN
// pragma_directives_region.cpp
#pragma region Region_1
void Test() {}
void Test2() {}
void Test3() {}
#pragma endregion Region_1
int main() {}
No hay equivalente. El #region
feature es parte de la especificación C#.
C++ no tiene tal equivalente. Posiblemente podría imitarlo con comentarios especialmente formateados, pero esto sería específico del editor.
Para Visual Studio que puede utilizar:
#pragma region name
...
#pragma endregion name
Entonces, cuando dices * no hay tal equivalente *, estás equivocado porque '#pragma region' _is_, para todos los efectos, es su equivalente funcional. –
@DmitriNesteruk - no, no lo es - no si usa cualquier IDE que no sea Visual Studio. '# region' se define en la especificación y los IDEs que se ajustan a la especificación deben permitir regiones colapsantes; esto no se puede decir para' #pragma region'. – Oded
No hay un equivalente.
mayoría de los buenos editores o entornos de desarrollo le permitirá contraer funciones, si no también if
/else
/while
/for
/etc.
No hay un equivalente en C++. Sin embargo, los IDE deberían poder colapsar las secciones.
También es posible usar algo como esto:
#pragma region
#pragma endregion A comment about the region.
Pero probablemente no muy portable
MSVC specific ... – Aconcagua
Además de #pragma region
... #pragma endregion
para Visual Studio, muchos entornos de desarrollo compatibles con la siguiente sintaxis para las regiones en cualquier {}
-delimited, //
lenguaje -commented:
//{ Region header text.
…
//}
notable los ejemplos incluyen Code::Blocks y FlashDevelop, y cualquier otro editor que use el componente de edición Scintilla, como Notepad++, Geany, Komodo Edit, y muchos más.
¿Lo admite VS? –
Acabo de intentar, no (Visual Studio 2013 Community Edition) –
Sugiero agregar el encabezado antes de la llave de apertura para que cuando se contraiga todavía pueda ver el nombre (en más compiladores al menos). –
La primera respuesta de this question menciona otra alternativa. Sin embargo, no es aplicable en todas las situaciones.
Método: Utilice {...} en su lugar, que de forma nativa admite el colapso de código en Visual Studio.
Habilitar opción: Herramientas -> Opciones -> Editor de texto - Bloques> Declaración de esquema - -> C/C++ -> Formato> True.
Ponga su en distintos ámbitos {...}, entonces se colapsará el código en diferentes ámbitos:
Esto podría no funcionar con todo el código, ya que causará problemas de alcance para las variables dentro de este bloque – asami
C++Builderhace apoyo esto, pero usted debe declarar la región:
#pragma region BLAH
.....
#pragma end_region
Usted debe use end_region para C++ Builder, pero funcionará, y colapsará la región!
He estado usando
#ifndef ANY_NAME_FOR_THIS_REGION
...
#endif
para varios proyectos durante el último par de años y que me va (incluidos los tacos flexibles). como una adición, puedo desactivar el bloque usando #define ANY_NAME_FOR_THIS_REGION justo encima.
formatee el área de código – manetsus
Si solo se trata de poder colapsar una región, simplemente use '#if 1 # endif' ... – Aconcagua
#if 1 es incluso más simple que #ifndef, pero .. no impone el uso de un símbolo para describir el propósito de esa región (el nombre que sigue a #ifndef) - Sé que puede anteponer o agregar un comentario a "#if 1 ", pero no está administrado por el IDE. Para ser sincero, sigo usando "#if 1..else..endif" justo cuando necesito ejecutar solo uno de dos bloques de código (un bloque XOR el otro) – Drout
Kate, KDevelop y todos los demás editores de texto e IDEs que utilizan Katepart admiten regiones de marcado con marcadores //BEGIN
y //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
Podrá contraer una región definida de esa manera.
- 1. ¿Existe un equivalente a la directiva #region de C# en AS3?
- 2. Cómo organizar datos xml usando el equivalente a #region/#endregion (delineando) desde C# .NET
- 3. Equivalente a window.setTimeout() para C++
- 4. C-sharp's "#region" y "#endregion" en Java?
- 5. servidor sql #region
- 6. C# equivalente a shell_exec
- 7. C# equivalente a InStrRev
- 8. C++ equivalente a java.lang.Integer.MIN_VALUE
- 9. DoEvents equivalente para C++?
- 10. #region analogue for eclipse
- 11. Javafx Pane vs Region?
- 12. Python equivalente a C++ getline()
- 13. OpenCV C++, obteniendo Region of Interest (ROI) usando cv :: Mat
- 14. Cómo quitar los robo-comentarios y #region de C#?
- 15. C equivalente a fstream's peek
- 16. Equivalente a Double.doubleToLongBits en C#?
- 17. C# Equivalente a Java IdentityHashMap
- 18. Python equivalente a C# .Seleccione?
- 19. Equivalente a open_memstream para MSVC
- 20. Objective-C equivalente a "anular" en C#
- 21. equivalente C# para Delphi de
- 22. C# Uri.EscapeDatastring() equivalente para Java
- 23. MonoTouch.Dialog equivalente para Objective C?
- 24. C# nulo coalescente operador equivalente para C++
- 25. #region equivalent en C++ Builder? ¿Manera similar al código de grupo?
- 26. equivalente Java a C# 's @ símbolo para escapar \
- 27. Equivalente a Java 1.6 @Override para interfaces en C#
- 28. ¿Es getchar() equivalente a scanf ("% c") y putchar() equivalente a printf ("% c")?
- 29. Equivalente a + = para el prefijo
- 30. Equivalente a Maven para python
Esta es una característica del IDE en lugar del idioma, ¿no es así? –
@ BjörnPollex, es utilizado por el IDE pero no debe entrar en conflicto con la sintaxis del lenguaje y el compilador debe aceptarlo también. –
'# region', en lo que respecta a C#, es una sintaxis válida y delinea una región de código. Visual Studio te permite doblarlos, como una función IDE. – Thanatos