¿Cuánto tiempo lleva aprender C ++ si ya tiene algo de conocimiento en C?

C y C ++ tienen algunas similitudes, pero C es como un subconjunto de C ++. C ++ es más un lenguaje de “alto nivel” que también tiene muchas características de bajo nivel. Tenga en cuenta que esta no es una lista completa de las diferencias y puede que haya otras que olvidé.

  1. La sintaxis es del mismo estilo.
  2. La metodología general de dividir el programa en varios archivos (y el uso de archivos de encabezado) es la misma.
  3. Los operadores son iguales, pero C ++ presenta nuevos operadores como el :: (operador de alcance), y también es posible cambiar el significado de cualquier operador en función de sus operandos, como el >> (operador de extracción de flujo) y el << (operador de inserciones de arroyos). Ver 6.b.
  4. Tienes los mismos tipos incorporados; C ++ también introduce el tipo “bool”.
  5. Todavía existe la definición de “estructura” disponible, sin embargo, la mayoría de las veces estará diseñando clases. Las clases son similares a las estructuras pero se utilizan para poder.
  6. Hay nuevas “ideas” que le ayudan a diseñar mejores programas y también programas más grandes de manera más eficiente.
    1. Puede usar la clase “herencia” para diseñar estructuras de datos más abstractas.
    2. Puede usar la sobrecarga del operador (ver 3, donde el mismo >> operador cambia su comportamiento según los tipos de sus operandos).
    3. Se introducen espacios de nombres (consulte el :: operador) para ayudar con el diseño de programas grandes y para hacer que los programas pequeños sean más eficientes.
  7. La Biblioteca de plantillas estándar (STL) de C ++ proporciona muchas más herramientas para diseñar programas.
  8. Aún puede usar punteros (y también podría tener que hacer esto en algunas circunstancias), pero usará principalmente iteradores, cuando necesite recorrer una estructura de datos, el encabezado de la STL para tratar de manera más eficiente la memoria.
  9. Programación genérica (o funciones de plantilla) que le ayuda a diseñar una clase (o estructura) sin usar tipos específicos para los miembros de la clase.
  10. Existen las “excepciones” que le ayudan a diseñar programas “más seguros”. Sin embargo, no todos los usan, puedes aprender más aquí.

C es un lenguaje fácil (comparado con C ++). Sin embargo, C ++ le da poder de expresión, lo que significa que puede hacer muchas más cosas de una manera más eficiente. La mala noticia es que C ++ necesita mucho estudio. La buena noticia es que es un lenguaje divertido y eficiente. Además, su experiencia previa en C ayudará, pero debe esperar tomar tiempo para aprender el idioma a un nivel eficiente.

He estudiado C antes de C ++ y esto me ayudó (creo) a aprender el idioma más rápido. Le sugiero que estudie el libro Acelerado en C ++: Programación práctica por ejemplo y también puede leer mi respuesta sobre cuánto tiempo le puede llevar estudiar de este libro. También hay otros libros geniales donde puedes aprender C ++, por lo que tienes muchas opciones y, por supuesto, puedes buscar en Google con frecuencia para encontrar respuestas a tus problemas.

Aprender la sintaxis toma una hora como máximo.

Familiarizarse con los conceptos de OOP no debe tomar más de dos o tres días.

Estar en una posición para usar e implementar esos conceptos puede tomar casi dos semanas.

Y aprendiendo el idioma, no lo sé, todavía no lo he hecho.

En la programación competitiva en general, no es necesario que aprenda la POO en C ++, así que siga los fundamentos y aprenda sus maravillosas bibliotecas de ETS como , , … y cómo usarlas. Si la competencia permite algunas bibliotecas externas de las que debería aprender a usar la biblioteca de Boost, ya está familiarizado con C, debería estar bien.

En realidad, C es un subconjunto de C ++, C ++ en realidad es C con algunas funcionalidades y paradigmas adicionales como el paradigma orientado a objetos. Entonces, todo en C es válido en C ++. Algunas declaraciones serán un poco diferentes. Las estructuras, los sindicatos y todo este personal de C se pueden cambiar un poco en C ++. En general, aprender un lenguaje de estilo C no tomará tiempo si conoce algo de C o C ++.

Muchas buenas respuestas aquí. Y aquí está mi valor de dos centavos …

C es único en que un programador de C mantiene una lista mental de tareas pendientes en su cabeza durante la programación; y en cada una de las llamadas de función, él / ella recorre mentalmente la pila para pensar qué ocurrirá en la función llamada y cuál será el efecto en los parámetros. Tendrá que abandonar estas prácticas cuando trabaje en C ++.

Debido a la encapsulación, es extremadamente difícil caminar estáticamente la pila. Y la lista de tareas pendientes se vuelve difícil de manejar pero eventualmente innecesaria. Estos pueden parecer problemas menores. Pero si eres como yo, te puede llevar meses adaptar tu mentalidad.

He sido desarrollador durante casi cuarenta años y la transición de C a C ++ fue un esfuerzo mucho mayor que cualquiera de los otros doce lenguajes de programación que he aprendido.

Le sugiero que se tome un tiempo para aprender sobre los constructores de copia, mover constructores, impulsar punteros y las bibliotecas estándar / stl. Si estás en el código de bajo nivel, también aprende sobre vtables. Y cuando creas que estás empezando a entenderlo todo, aborda las plantillas, lo que puede ser intimidante cuando aprendes a usarlas de manera creativa. (… que trato de no exagerar)

C ++ es un superconjunto de C. En general, cualquier programa c también es un programa c ++. por lo que no sería sudar para ti. Comience observando la diferencia entre los dos conceptos de OOP, funciones de administración de memoria y otras funciones de biblioteca. Practica un poco usando clases y herencia. Y creo que se puede hacer en un plazo de 80-90hrs

Ya que es un lenguaje mucho más grande, con bibliotecas estándar más grandes, es poco probable que alguna vez conozcas C ++ tan bien como sabes C. Este tutorial parece bastante bueno:

http://www.4p8.com/eric.brasseur…

También puede encontrar referencias y preguntas frecuentes en Internet. Sólo empieza a usarlo. Aprenderá los detalles de las partes que usa con frecuencia y buscará los detalles de las partes que usa ocasionalmente.

Ya que conoces C, básicamente conoces las partes más difíciles de C ++ (como se ve desde el punto de vista de los burladores de C ++, afirmar que es difícil).

Aprendí C ++ de un libro llamado Teach Yourself C ++ en 24 horas por Jesse Liberty. Así que 80-90 horas deberían ser suficientes para aprenderlo. Pero, como con la mayoría de las cosas, la experiencia viene con el tiempo.

Eso suena bien que sepas bien la programación en C. Es posible que sientas dificultades en las clases y objetos al comenzar, luego será fácil. Puedes leer el libro de C ++ de E.Balagurusamy. Este es un muy buen libro para principiantes. Lo bueno es que, una vez que se sienta cómodo con los conceptos orientados a objetos, le será fácil aprender otros lenguajes orientados a objetos como Java, C #, etc.
Todo lo mejor, feliz codificación 🙂