2009-05-14 13 views
6

OK, estoy considerando entrar en el desarrollo de C++ en los próximos meses (no hay una fecha establecida). Estoy vagamente familiarizado con el lenguaje (principalmente C), así como algunos conceptos básicos de OO, MI, plantillas, excepciones, patrones, STL usados. Y ahora estoy en el momento en el que me gustaría dominar el lenguaje en profundidad. Y la pregunta natural es si debo
comenzar con el actual C++ 03 o C++ 0x estándar.¿Debo aprender C++ basado en un estándar nuevo o antiguo (especificación)?

Para sugerir cuál es la mejor manera de ir de un usuario a gurú, dado que la nueva norma es casi aquí, y probablemente se mantendrá durante muchos años por venir.

Gracias

+3

¿Qué esperas obtener aprendiendo C++? Si está interesado en el diseño del lenguaje, C++ 0X sería más interesante. Sin embargo, si desea hacer un desarrollo profesional, definitivamente debe apegarse al estándar C++ 03. – joshdick

Respuesta

12

Mi recomendación es comenzar en el medio. Comience con C++ 03, pero compruebe las características y las librerías de C++ 0x que algunos compiladores ya ofrecen cada tanto. A partir de ahora, C++ 03 es EL estándar (no solo formalmente, sino que la mayoría del código que encontrará será estrictamente C++ 03).

Ahora, si usted piensa en el aprendizaje ir para el mejor: comenzar rápidamente con fundamentos STL y saltar en bibliotecas Boost de inmediato. Aprenda las plantillas durante todo el proceso, lea la metaprogramación. El uso moderno de C++ 03 te pondrá en el buen camino para C++ 0x.

6

Conozca el estándar anterior C++ 03. C++ 0X todavía está a un par de años de distancia (al menos) de ser ratificado como estándar. Una vez que esté estandarizado, pasará un tiempo antes de . Aparecerán implementaciones compatibles con que admitan todas sus características, y llevará incluso más tiempo antes de que las implementaciones de C++ 0X se vuelvan populares y se usen con frecuencia.

2

En mi opinión, aprender C++ 03 es más práctico. Si no te importa aprender nuevas funciones pero puedes usar parcial durante varios años, C++ 0x es mejor. Las buenas noticias son la nueva versión de g ++ y vC++ 2010 ya implementó partes de las nuevas características de C++ 0x.

1

Conocer las nuevas características de C++ 0x es una excelente manera de aprender más acerca de C++ 03 en profundidad porque puede ver cómo funciona C++ 03, los problemas que presenta y qué propone C++ 0x. para resolver esos problemas

tuve esta experiencia recientemente el aprendizaje sobre las nuevas referencias rvalue y mover la semántica. En C++ 03 hay una gran cantidad de creación y copia temporales innecesarias en expresiones, aprender acerca de por qué C++ 03 tiene este problema y cómo C++ 0x resuelve este problema fue bastante esclarecedor e informó mi desarrollo actual de C++.

1

que va a ser un par de años antes de que los compiladores de C++ 0x son comunes. Entonces, en este momento, no tienes mucha opción. Aprende C++ 03, y luego podrás aprender las cosas nuevas por separado, cuando llegue el momento. Las diferencias fundamentales no son tan buenas. 0x es principalmente una cuestión de nuevas características que se atornillan, y las funciones existentes se generalizan y optimizan. El conocimiento de C++ 03 seguirá siendo aplicable.

Cuestiones relacionadas