Accueil Finances personnelles 8 Caractéristiques de C ++ Not-So-Beginner - mannequins

8 Caractéristiques de C ++ Not-So-Beginner - mannequins

Table des matières:

Vidéo: Linux Tutorial for Beginners: Introduction to Linux Operating System 2025

Vidéo: Linux Tutorial for Beginners: Introduction to Linux Operating System 2025
Anonim

Le langage C ++ contient tellement de fonctionnalités que les programmeurs débutants ne peuvent pas tous comprendre. Heureusement, vous n'avez pas besoin de maîtriser toutes les fonctionnalités de la langue pour écrire de grands programmes dans le monde réel. Vous trouverez ci-dessous dix caractéristiques que vous voudrez peut-être anticiper, au cas où vous les verriez dans les programmes d'autres personnes.

La commande C ++ goto

Cette commande retourne à C, l'ancêtre de C ++. En principe, utiliser cette commande est facile. Vous pouvez placer goto label; où tu veux. Lorsque C ++ rencontre cette commande, le contrôle passe immédiatement à l'étiquette, comme démontré dans cet extrait de code:

for (;;) {if (expression conditionnelle) {goto outahere;} // … tout ce que vous voulez …} outahere: // … le programme continue ici …

En pratique, cependant, goto introduit beaucoup de façons de bousiller. Dans tous les cas, les programmeurs ont rapidement remarqué que les deux utilisations les plus courantes du goto consistaient à quitter les boucles et à passer au cas suivant dans une boucle. Le Comité des normes C introduit la pause et continue et a presque complètement enlevé le besoin de la commande goto.

L'opérateur ternaire C ++

L'opérateur ternaire est un opérateur unique en C et C ++. Cela fonctionne comme suit:

int n = (conditionnel)? expression1: expression2;

Le? l'opérateur évalue d'abord le conditionnel. Si la condition est vraie, alors la valeur de l'expression est égale à la valeur de expression1; sinon, il est égal à la valeur de expression2.

Par exemple, vous pouvez implémenter une fonction maximum () comme suit:

int max (int n1, int n2) {return (n1> n2)? n1: n2;}

L'opérateur ternaire peut être appliqué à n'importe quel type de numérique mais ne peut pas être surchargé. L'opérateur ternaire est vraiment une expression - pas une instruction de contrôle comme un si.

Types énumérés en C ++

L'idée simple est que vous pouvez définir des constantes et laisser C ++ leur assigner des valeurs, comme indiqué ici:

enum Colors {NOIR, BLEU, VERT, JAUNE, ROUGE}; Couleurs myColor = BLACK;

Le problème avec les types énumérés réside dans l'implémentation: Plutôt que de créer un vrai type, C ++ utilise des entiers. Dans ce cas, BLACK reçoit la valeur 0, BLUE 1, GREEN2 et ainsi de suite.

La bibliothèque standard pour C ++ 2011 a "résolu" ce problème en créant un type de classe énuméré comme indiqué dans l'extrait suivant:

enum class Colors {BLACK, BLUE, GREEN, YELLOW, RED}; Couleurs myColor = Couleurs:: BLACK;

Dans cette version, Colors est un nouveau type.Chacune des constantes, NOIR, BLEU et ainsi de suite, sont membres du type Couleurs. Vous pouvez toujours convertir un objet de la classe Colors en int, mais une distribution implicite n'est pas autorisée.

namespaces C ++

Il est possible de donner le même nom à différentes entités dans deux bibliothèques différentes. Par exemple, la fonction grade () dans la bibliothèque Student affecte probablement une note, tandis que la fonction grade () dans la bibliothèque CivilEngineering peut définir la pente sur le côté d'une colline. Pour éviter ce problème, C ++ permet au programmeur de placer son code dans un espace de noms distinct. Ainsi, la note dans l'espace de noms Student est différente de la note dans CivilEngineering.

L'espace de noms est au-dessus et au-delà du nom de la classe. La fonction membre grade () de la classe BullDozer dans l'espace de noms CivilEngineering a le nom étendu CivilEngineering:: BullDozer:: grade ().

Tous les objets et fonctions de la bibliothèque se trouvent dans l'espace de noms std. L'instruction au début du modèle de programme utilisant namespace std; dit que si vous ne voyez pas l'objet spécifié dans l'espace de nom par défaut, alors allez dans std.

Fonctions virtuelles pures en C ++

Il n'est pas nécessaire de définir une fonction déclarée virtuelle. Une telle fonction indéfinie est connue sous le nom de fonction de membre virtuel pur . À ce stade, cependant, les choses se compliquent. Par exemple, une classe avec une ou plusieurs fonctions virtuelles pures est dite abstraite et ne peut pas être utilisée pour créer un objet. Aborder ce sujet après vous sentir à l'aise avec les fonctions virtuelles et la liaison tardive.

La classe de chaînes C ++

La plupart des langues incluent une classe de chaînes en tant que type intrinsèque pour la gestion facile des chaînes de caractères. En théorie, la classe de chaîne devrait faire la même chose pour C ++. En pratique, cependant, ce n'est pas si simple. Dans la mesure où la chaîne n'est pas un type intrinsèque, les messages d'erreur générés par le compilateur en cas de problème sont plus proches de ceux associés aux classes définies par l'utilisateur. Pour un débutant, ces messages peuvent être très difficiles à interpréter.

chaîne n'est même pas une classe. C'est une instance d'une classe de template. Les messages d'erreur peuvent être à couper le souffle.

Héritage multiple en C ++

Une classe peut réellement étendre plus d'une classe de base. Cela semble simple mais peut devenir assez compliqué lorsque les deux classes de base contiennent des fonctions membres du même nom. Pire encore, lorsque les deux classes de base sont elles-mêmes des sous-classes d'une classe commune.

En fait, il y a tellement de problèmes que C ++ est le seul langage de type C qui supporte l'héritage multiple. Java et C #, les deux langages dérivés de C ++, ont décidé d'abandonner le support pour l'héritage multiple.

Modèles C ++ et bibliothèque de templates standard

Les créateurs de C ++ ont remarqué que les fonctions similaires à:

int max (int n1, int n2) {if (n1> n2) {return n1;} return n2;} double max (double n1, double n2) {if (n1> n2) {return n1;} renvoie n2;} char max (char n1, char n2) {if (n1> n2) {return n1;} return n2;}

"Ne serait-ce pas cool", dit-on à l'autre, "si vous pouviez remplacer le type par un pseudo-type T que vous pourriez définir au moment de la compilation?"Avant que vous ne le sachiez, les presto-templates deviennent une partie du template C ++:

T max (T t1, T t2) {if (t1> t2) {return t1;} renvoie t2;}

Maintenant le programmeur peut Créez un max (int, int) en remplaçant T par int et en compilant le résultat, créez un max (double, double) en remplaçant T par double, et ainsi de suite. Le comité des normes a même publié une bibliothèque entière de classes, connue sous le nom de bibliothèque de modèles standard (STL), basée sur des classes modèles.

Pour un débutant, cependant, le sujet des classes modèles commence à être syntaxiquement très compliqué. En outre, les erreurs que le compilateur génère lorsque vous obtenez une mauvaise instanciation de modèle sont déroutantes pour un expert, sans parler d'un débutant. C'est certainement un sujet qui doit attendre jusqu'à ce que vous vous sentiez à l'aise avec la langue de base.

8 Caractéristiques de C ++ Not-So-Beginner - mannequins

Le choix des éditeurs

Les bons outils pour la photographie macro - les nuls

Les bons outils pour la photographie macro - les nuls

Vous avez de nombreuses options pour l'équipement pour capturer des gros plans macro photographies. Vous avez peut-être déjà une caméra qui prend de superbes photos en gros plan. Macro photographie signifie créer une image dans laquelle le sujet est représenté sur le capteur numérique (ou plan de film) dans sa taille réelle. Si vous trouvez que les limites de votre ...

Conseils pour prendre bon point et déclenchez Photographies - mannequins

Conseils pour prendre bon point et déclenchez Photographies - mannequins

La photographie est sur la capture et la conservation images, et en tant que photographe, vous voulez prendre les meilleures photos que vous pouvez. Si vous utilisez un appareil photo compact, utilisez ces astuces simples pour améliorer vos photos: Verrouillez toujours la mise au point avant de prendre une photo. Cadre, ne viser pas. Utilisez le viseur ou sur l'écran tout affichage pour composer ...

Le trépied droit pour la photographie en macro et en gros plan - les nuls

Le trépied droit pour la photographie en macro et en gros plan - les nuls

Pour photographier certains sujets de près et en essayant d'atteindre certains résultats, le trépied que vous utilisez peut déterminer si vous réussissez ou échouez. Savoir ce qui est disponible sur le marché et les différences entre les trépieds peut être très utile et vous aide à décider quels trépieds vous conviennent le mieux. Lors de la sélection d'un trépied, accordez une attention particulière à ...

Le choix des éditeurs

Comment entendre la voix de Dieu pendant la prière chrétienne - par tys

Comment entendre la voix de Dieu pendant la prière chrétienne - par tys

La prière chrétienne est une façon de parler à Dieu. Cependant, pour tirer pleinement parti de la prière chrétienne, vous ne pouvez pas simplement parler, vous devez aussi vous préparer à écouter. Les conseils suivants peuvent vous aider à entendre ce que Dieu vous dit: Obtenez le scoop sur ce que Dieu vous dira par ...

Comparant les croyances à travers l'église chrétienne - les mannequins

Comparant les croyances à travers l'église chrétienne - les mannequins

Différentes confessions chrétiennes sont organisées et adorent de différentes façons. Cette liste pratique vous aidera à suivre et à comparer certaines différences dans le culte, les rituels et les croyances des plus grands groupes de l'Église chrétienne. Moyens de salut anglicans / épiscopaux: la grâce de Dieu par la foi seule. Comment ils adorent: le style traditionnel par la liturgie; liturgie contemporaine ...

Conversation avec Dieu - mannequins

Conversation avec Dieu - mannequins

La prière consiste simplement à communiquer avec Dieu. Il n'y a rien de magique à propos de la prière chrétienne; c'est une question de fait. Cependant, la prière chrétienne est plus que simplement dire à Dieu votre liste de demandes et s'attendre à ce qu'il réponde à vos prières comme s'il était un distributeur automatique cosmique. Oui, la prière est un moyen de partager avec Dieu ...

Le choix des éditeurs

Loi visant à accroître Uplifting émotions - mannequins

Loi visant à accroître Uplifting émotions - mannequins

Afin d'élever vos émotions, la première étape est de prendre conscience de ce qui émotions que vous avez. Prenez conscience de ce qui vous déclenche - ce qui vous met en colère et vous met en colère et ce qui vous rend très excité. Un déclencheur surveille certaines émissions de télévision et permet aux émotions de ces programmes de s'infiltrer ...

Comment les entreprises vous convainquent d'acheter leurs produits - mannequins

Comment les entreprises vous convainquent d'acheter leurs produits - mannequins

Presque tous les médias commerciaux destinés aux femmes reçoivent leur publicité les revenus des secteurs de l'alimentation, de la beauté, de l'alimentation et de la mode. Juste l'industrie de régime elle-même est une entreprise commerciale de 33 milliards de dollars par an. Et, bien sûr, ces industries ont continuellement besoin de clients pour continuer à réussir. C'est dans leur meilleur intérêt de ...

Comment l'image corporelle se forme dans votre jeunesse - les nuls

Comment l'image corporelle se forme dans votre jeunesse - les nuls

En général, ce que vous avez vécu avec votre famille grandissaient ont eu un effet direct sur les pensées et les sentiments que vous aviez à propos de votre corps. Repensez à vos jeunes années. Dans quelle mesure les énoncés suivants décrivent votre famille? Personne n'a exercé. La voiture était utilisée même pour de courts trajets. De la nourriture lourde et engraissante ...