Dois-je apprendre le C ++ basé sur le standard neuf ou ancien (spécification)?

StackOverflow https://stackoverflow.com/questions/865209

  •  21-08-2019
  •  | 
  •  

Question

OK, j'envisage d'entrer dans c ++ développement dans les prochains mois (il n'y a pas de date fixe). Je suis vaguement familier avec la langue (principalement C), ainsi que quelques notions de base de OO, MI, modèles, exceptions, les modèles, utilisés STL. Et maintenant, je suis au moment où je voudrais maîtriser la langue en profondeur. Et la question naturelle est de savoir si je
commencer par courant 03 C ++ ou C ++ 0x standard.

S'il vous plaît suggérer quelle est la meilleure façon d'aller d'un utilisateur gourou, étant donné que nouvelle norme est presque là, et restera probablement pendant de nombreuses années à venir.

Merci

Était-ce utile?

La solution

Ma recommandation est de commencer au milieu. Commencez par 03 C ++, mais il faut vérifier les caractéristiques et C ++ 0x libs que certains compilateurs offrent déjà chaque si souvent. A partir de maintenant, C ++ 03 est la norme (non seulement formellement, mais la plupart du code que vous trouverez seront strictement 03 C ++).

Maintenant, si vous avez l'intention sur l'apprentissage aller pour le mieux: commencer rapidement avec les bases de la STL et sauter dans les bibliothèques Boost tout de suite. Apprenez modèles tout le chemin, lisez la métaprogrammation. 03 L'usage moderne C de vous obtenir sur la bonne voie pour C ++ 0x.

Autres conseils

En savoir plus la norme C ++ 03. C ++ 0X est encore quelques années loin (au moins) de même être ratifié comme norme. Une fois qu'il est standardisé, il faudra du temps avant que any implémentations conformes semble que le soutien toutes ses fonctions, et il va prendre une même plus temps avant les implémentations C ++ 0X devenir significativement populaire et souvent utilisé.

À mon avis, apprendre 03 C ++ est plus pratique. Si cela ne vous dérange pas d'apprendre de nouvelles fonctionnalités, mais peut utiliser partielle pendant plusieurs années, C ++ 0x est mieux. Les bonnes nouvelles sont g ++ nouvelle version et vc ++ 2010 pièces déjà mises en œuvre de nouvelles fonctionnalités c ++ 0x.

Apprendre le nouveau C ++ 0x caractéristiques est un excellent moyen d'en savoir plus sur 03 C ++ en profondeur parce que vous voyez comment 03 C ++ fonctionne, les problèmes avec elle, et ce que c ++ 0x propose de faire pour résoudre ces problèmes.

J'ai eu cette expérience d'apprentissage récemment sur les nouvelles références rvalue et déplacer la sémantique. En C ++ 03, il y a beaucoup de création temporaires inutiles et la copie dans les expressions, l'apprentissage de savoir pourquoi c ++ 03 a ce problème et comment C ++ 0x résout ce problème était assez instructif et a informé mon développement actuel C ++.

Il va être quelques années avant que les compilateurs C 0x sont de commun. Donc, pour le moment, vous n'avez pas beaucoup de choix. En savoir C ++ 03, et vous pouvez apprendre les nouvelles choses séparément, quand vient le temps. Les différences fondamentales ne sont pas exceptionnelles. 0x est surtout une question de nouvelles fonctionnalités boulonné et fonctionnalités existantes étant généralisée et simplifiée. La connaissance de C ++ 03 sera toujours applicable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top