C vs C++ - avantages avec le langage c

C++, comme son nom l'indique, est un sur-ensemble de C. Comme une question de fait, C++ peut exécuter la plupart de code C, tandis que le C ne peut pas s'exécuter du code C++.

Il y a plusieurs avantages du c++ par rapport au c - par exemple

  • de données ne peut pas être cachée en langage c
  • c est plus faible niveau (ce qui signifie plus difficile à comprendre et le code, ce qui signifie plus de bugs)
  • c ne permet pas de surcharge de fonctions
  • c ne prend pas en charge la gestion des exceptions
  • vous pouvez utiliser des fonctions à l'intérieur des structures en C++ mais pas en C

Cette liste pourrait certainement être beaucoup plus longue, mais voici ma question: Est-il un avantage avec le c-la langue par rapport à c++? Est-il quoi que ce soit qui est mieux avec c qu'en c++? Est-ce que c rien que du c++ qui manque?

Je ne sais pas à ce sujet - mais c pourrait éventuellement être légèrement plus rapide que le c++ en raison de la réduction de l'instruction de jeux? Un langage de bas niveau serait éventuellement nécessiter le moins d'instructions par le processeur.

  • Ce n'est pas un sur-ensemble de C. Et son nom implique qu'il est 1 de plus que C (sauf si C est le maximum représentable de la valeur pour son type).
  • soutien dans les systèmes embarqués et/personnalisée avec des compilateurs vient à l'esprit
  • C'est le nom implique que, après l'évaluation, C est un de plus que le C++ 🙂
  • Cette question est tellement vaste, je voulais vous donner une réponse, mais ne savez pas par où commencer.
  • J'aime vraiment C vs C++ comparaisons, mais je pense que le C et le C++ sont assez différentes langues.
  • "c est plus faible niveau" qui peut être vu comme un avantage, en fonction du contexte.
  • C++, as the name suggests, is a superset of C. Non, il n'est pas. data can not be hidden in c language Oui, il peut.
  • Si C est pas atteint sa puissance maximale, C++ sera de 0 🙁
  • Je ne serais pas vraiment dire que C est beaucoup plus faible niveau, que ce soit. C++ descend aux choses sérieuses tout aussi bien si vous en avez besoin.
  • C++ n'est pas un sur-ensemble strict de C. valide les programmes en C qui ne sont pas valides C++, et valide les programmes en C qui sont valables pour les programmes C++ des sémantiques différentes. Il est possible, et pas trop difficile, d'écrire du code qui valide le C et le C++ avec la même sémantique -- mais il y a rarement une bonne raison de le faire.
  • La première compilateur C++ est un traducteur qui a pris le code source C++, il traduit en code source C et compilé. Donc, à l'époque, Rien C++ pourrait le faire, C pourrait également, mais pas nécessairement dans l'autre sens, faisant de C++ une fonctionnelle sous-ensemble de C.
  • Double Possible de stackoverflow.com/questions/497786/...
  • J'ai peut-être aller trop loin avec cette personne, mais vous pouvez la surcharge de fonctions basées sur le nombre de paramètres en C en utilisant variadic macros. Voir BOOST_PP_OVERLOAD, mais en remplaçant une fonction normale pour la surcharge de macro.
  • "Est-il un avantage" - tu viens d'énumérer toutes les raisons!
  • "c est plus faible niveau (ce qui signifie plus difficile à comprendre et le code, ce qui signifie plus de bugs)" - eh Bien, je'mnot convaincu que C est plus bas niveau que le C++, mais peu importe, la conclusion est-elle vraie? Je suis expérimenté dans les deux langues, et laissez-moi vous dire; certaines fonctionnalités C++ permettent plutôt méchant, extrêmement subtile bugs à se glisser à travers ce qui serait impossible dans C. ressemble inexpérience à me parler.
  • Ce ne devrait pas avoir été fermé en premier lieu.