Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

209
Visualizações
¿C++ contiene todo el lenguaje C?

He leído en tutoriales que C++ contiene todo el lenguaje de programación C.

Sin embargo, también he leído, en lugares como este , que

Si aprende C ++, eventualmente aprenderá la mayor parte de C con algunas diferencias entre los idiomas que aprenderá con el tiempo.

Entonces mi pregunta es solo esta:

Si conozco muy bien C ++, ¿aprenderé eventualmente el lenguaje C "real" (sin ninguna "diferencia") porque el lenguaje C90 completo está incluido en C ++ 11?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

No, C++ no es un superconjunto del lenguaje C. Si bien C ++ contiene una gran parte de C, existen diferencias sutiles que pueden afectarlo gravemente donde menos lo espera. Aquí hay unos ejemplos:

  • C tiene el concepto de definiciones tentativas que no existe en C++.
  • C no requiere una conversión explícita en la asignación de punteros void a variables de tipo concreto.
  • C tiene reglas diferentes con respecto a la propagación const .
  • C tiene algo llamado "regla de int implícita", que, aunque se eliminó con C99, aparece algunas veces y debe tenerse en cuenta.
  • El preprocesador de C tiene algunas funciones que el preprocesador de C++ no tiene.
  • El lenguaje C tiene dos estilos de definición de función, estilo K&R y estilo Stroustrup. C++ solo tiene estilo Stroustrup.
  • Las reglas de lexing para C y C++ son diferentes y ninguna es un subconjunto de la otra.
  • C y C++ tienen diferentes conjuntos de palabras reservadas. Esto puede causar errores extraños porque no se permite un identificador en el otro idioma.
  • Si bien C++ tomó casi todas las funciones de ANSI C (C89), se agregaron muchas funciones a C en revisiones estándar posteriores que no están disponibles en C++.
  • C++ tiene una sintaxis diferente, incluso para algunas partes que no son nuevas. Por ejemplo, a ? b : c = d es un error de sintaxis en C pero analizado como a ? b : (c = d) en C++.
  • C garantiza que &*E es exactamente idéntico a E , incluso si E es un puntero nulo. C++ no tiene tal garantía.
  • En C, un literal de cadena que inicializa una matriz de caracteres puede inicializar una matriz que es al menos tan larga como la cadena sin el byte final \0 . (es decir, char foo[3] = "bar" es legal). En C++, la matriz debe ser al menos tan larga como la cadena, incluido el byte final \0 .
  • En C, un carácter literal como 'A' tiene tipo int . En C++, tiene tipo char .
  • C tiene una regla especial para hacer que los juegos de palabras mediante uniones sean legales. C++ carece de este lenguaje, haciendo código como

     union intfloat { int i; float f; } fi; fi.f = 1.0; printf("%d\n", fi.i);

    comportamiento indefinido.

over 4 years ago · Santiago Trujillo Relatório

0

Si conozco muy bien C ++, eventualmente aprenderé el lenguaje C "real" (sin ninguna "diferencia")

Si aprende C++ correctamente, probablemente no necesitará usar muchas de las técnicas estándar utilizadas en C. En teoría, podría programar casi cualquier cosa C en C++, con las excepciones que ya se han presentado. Sin embargo, en realidad, no lo harías, o no deberías hacerlo . Esto se debe a que C ++ es un lenguaje diferente que proporciona un conjunto de herramientas muy diferente cuando se usa de manera óptima.

Aparte de los elementos muy básicos como la sintaxis general y los tipos fundamentales, estos son dos lenguajes que evolucionan por separado y deben abordarse (aprenderse, programarse) como tales.

over 4 years ago · Santiago Trujillo Relatório

0

En términos generales, el lenguaje C++ es esencialmente C con un montón de cosas añadidas orientadas a objetos. Casi todo el código que podría escribir en C también se compilará y ejecutará sin problemas en C++.

Sin embargo, hay algunos rincones de los idiomas donde hay diferencias. El número de estos ha ido creciendo lentamente con el tiempo, pero los idiomas no están cambiando lo suficientemente rápido como para que eso sea un problema significativo.

Si solo aprende C++, entonces sí, eventualmente también aprenderá casi todos los aspectos del lenguaje C. Si se vuelve un experto en C++, podrá identificar y comprender los lugares donde existen pequeñas diferencias entre las partes similares de C y C++.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda