Descripción de la etiqueta C ++

C ++ es un lenguaje de programación de propósito general. Originalmente fue desarrollado como una extensión para C y conserva una sintaxis similar, pero ahora es un lenguaje completamente diferente. Use esta etiqueta para preguntas sobre el código que debe compilarse usando el compilador de C ++. Use la etiqueta de versión para las preguntas relacionadas con una versión estándar específica de [C ++ 11], [C ++ 17], etc.

¿Qué es C ++?

C ++ es un lenguaje de programación de nivel medio universal, de tipo estático , compilado de manera universal, multirigendado y universal; No debe confundirse con C o C ++ / CLI . Fue desarrollado a principios de la década de 1980 por Bjarn Straustrup , originalmente como un conjunto de extensiones para el lenguaje de programación C. Confiando en C, C ++ mejoró la seguridad de tipos y agregó, entre otras funciones, la gestión automática de recursos, la orientación a objetos, la programación general y el manejo de excepciones.


¿Nuevo en C ++?

Si eres nuevo en la programación o vienes a C ++ desde otro lenguaje de programación, es muy recomendable tener un buen libro para aprender el idioma. Mantenemos una lista detallada de los libros .

Si está buscando buenos compiladores, GCC es el compilador más utilizado en Linux y otras plataformas similares a Unix; C> es el compilador oficial para Mac y FreeBSD; Microsoft Visual C ++ se usa más comúnmente en Windows. El compilador de Intel también se usa ampliamente para sus cálculos numéricos optimizados en Windows, Linux y Mac.

Turbo-C ++ 3.0 desde 1991 está extremadamente desactualizado y definitivamente no es recomendable. Vea el párrafo anterior para una elección libre de este milenio.

Únase a nosotros en una sala de chat donde discutimos C ++, la programación en general, e incluso otras cosas cuando el sol se pone y se aburre. No olvides tu sentido del humor, pero mantenlo civilizado.


etiquetado

Al publicar preguntas sobre la programación en C ++, asegúrese de incluir:

  • Información sobre el sistema de destino y el compilador. Esto incluye el nombre del compilador, la versión y la configuración utilizada para la compilación.
  • Si su pregunta se relaciona con una versión de idioma específica, agregue o . Las preguntas sobre la promoción deben agregar una etiqueta de . Los detalles sobre las diferentes versiones se pueden encontrar a continuación en este wiki.
  • Si la pregunta no indica explícitamente qué versión del estándar de C ++ se está utilizando, se supone que se utiliza la versión actual. Es decir, según la versión de ISO 14882, que actualmente se encuentra como activa. Tenga esto en cuenta cuando responda o comente las preguntas marcadas .

Usando y juntos

C y C ++ son dos lenguajes diferentes ya menudo incompatibles. Trate de no usar ambas etiquetas en la misma pregunta, a menos que tenga buenas razones.

Una pregunta debe marcarse solo si:

  • Contiene C pura, sin rastro de C ++, o preguntas con código que puede ser cualquier idioma.
  • El código se compila utilizando el compilador de C.

Una pregunta debe marcarse solo si:

  • Contiene código con cualquier función de C ++. Incluso si el código pudiera ser "estilo C".
  • El código se compila usando el compilador de C ++.

La pregunta se debe marcar con y , si se trata de:

  • Diferencias específicas entre C y C ++.
  • Compatibilidad o transferencia de código entre C y C ++.
  • Código de C ++ que usa bibliotecas de C (por ejemplo, código que usa extern "C" ).

Reglas de edición y moderación para los mensajes etiquetados y :

Para editar / volver a marcar / moderar las preguntas con ambas etiquetas, se recomienda que tenga derechos de edición completos, así como un icono con una dorada o dorada.

Si encuentra un mensaje con ambas etiquetas, edítelo / vuélvalo a marcar, si es necesario, de acuerdo con las reglas anteriores. Si puede decir un idioma leyendo el código publicado, simplemente edite las etiquetas en consecuencia. Evite preguntar al usuario "¿es C o C ++?" en los comentarios si la pregunta no está muy clara.

Un ejemplo de una pregunta oscura es cuando un usuario declara explícitamente que está programando en C, pero publica mensajes del código o mensajes del compilador para C ++. Si es así, pida una aclaración y tome una votación cerrada como poco clara.

"O bien C o C ++ está bien", las opiniones de OP son una clara indicación de una pregunta mala o poco clara. Las respuestas pueden ser muy diferentes dependiendo del idioma seleccionado. Solicite una aclaración, por muy poco clara / demasiado amplia, hasta que la IF lo aclare.

Tenga cuidado al volver a etiquetar las preguntas después de publicar las respuestas, especialmente si ya tiene respuestas en C y en C ++. En tales casos, las etiquetas deben dejarse solas, ya que cambiarlas invalidará las respuestas publicadas.

Las respuestas con código de C ++ a la pregunta de C que nunca se ha marcado deben eliminarse porque no están relacionadas con el tema. Verifique el historial de edición de preguntas antes de marcar / eliminar dichas respuestas para asegurarse de que la pregunta nunca tuvo una etiqueta de C ++.


C ++ 11

El estándar de idioma ha permanecido casi sin cambios durante mucho tiempo, pero en 2011 el nuevo estándar C ++ 11 (anteriormente conocido como C ++ 0x) se publicó en ISO / IEC 14882: 2011 . En lugar del enfoque del Big Bang, se está introduciendo gradualmente a medida que los compiladores admiten nuevas funciones de lenguaje. Consulte las Preguntas frecuentes de Bjarne Stroustrup C ++ 11 para conocer las novedades en el idioma y consulte las Preguntas frecuentes de su compilador para saber cuáles de estas funciones son compatibles actualmente:

Varias de las funciones discutidas para C ++ 11 se transfirieron a la siguiente iteración.


C ++ 14

C ++ 14 es una pequeña adición a C ++ 11. Se aprobó en agosto de 2014 y se lanzó en diciembre del mismo año. Anteriormente se hacía referencia a C ++ 1y, ya que el año de aprobación no estaba definido. Muchos compiladores populares ya tienen algún nivel de soporte para C ++ 14.


C ++ 17

C ++ 17 agrega algunas funciones básicas más (y algunas de menor importancia). Por lo general, se llama C ++ 1z o C ++ 17, ya que el trabajo técnico sobre la nueva norma se completó en marzo de 2017. El borrador de la norma fue aprobado (por unanimidad) por ISO en septiembre de 2017 y publicado oficialmente en diciembre de 2017.


C ++ 20

El trabajo ha comenzado con los cambios en el estándar para C ++ 2a o C ++ 20 con la fecha de lanzamiento esperada del lanzamiento de 2020 del estándar.

Las siguientes (y más) nuevas características ya han sido adoptadas en el borrador de C ++ 20:

  • comparación de tres vías utilizando el nuevo operador <=>
  • Inicializadores asignados (basados ​​en la función C99 con algunas restricciones)
  • Listas de parámetros de patrones en expresiones lambda
  • Variable extra con ciclo for rango
  • Extensiones de paquetes en lambda init-capture

Actualmente se están considerando varias características nuevas, que incluyen:


Compiladores de internet

Si desea probar C ++, puede probar uno de los siguientes servicios de compilación en línea:



C ++ FAQ desbordamiento de pila


Preguntas frecuentes externas


Otros recursos externos


Chats