Zuhause Persönliche Finanzen 8 C ++ Not-So-Beginner-Funktionen - Dummies

8 C ++ Not-So-Beginner-Funktionen - Dummies

Inhaltsverzeichnis:

Video: Boolean function example (C++ programming tutorial) 2025

Video: Boolean function example (C++ programming tutorial) 2025
Anonim

Die Sprache C ++ enthält so viele Funktionen, dass Anfänger nicht jeden einzelnen verstehen können. Glücklicherweise müssen Sie nicht alle Funktionen der Sprache beherrschen, um große, reale Programme zu schreiben. Im Folgenden sind zehn Features aufgeführt, die Sie sich vielleicht ansehen sollten, nur für den Fall, dass Sie sie in anderen Programmen sehen.

Der C ++ - Befehl goto

Dieser Befehl geht zurück zu C, dem Vorläufer von C ++. Im Prinzip ist die Verwendung dieses Befehls einfach. Sie können Goto-Label platzieren. wo auch immer du willst. Wenn C ++ diesen Befehl erreicht, wird die Steuerung sofort an das Label übergeben, wie in diesem Code-Schnipsel gezeigt:

for (;;) {if (bedingter Ausdruck) {goto outahere;} // … was immer Sie wollen …} outahere: // … Programm geht hier weiter …

In der Praxis jedoch Goto führt viele Wege ein, um es zu vermasseln. Auf jeden Fall dauerte es nicht lange, bis Programmierer bemerkten, dass die beiden häufigsten Verwendungen des goto darin bestanden, Schleifen zu verlassen und innerhalb einer Schleife zum nächsten Fall zu gehen. Das C-Normen-Komitee führte break and continue ein und beseitigte fast vollständig die Notwendigkeit des goto-Befehls.

Der ternäre C ++ Operator

Der ternäre Operator ist ein für C und C ++ eindeutiger Operator. Es funktioniert wie folgt:

int n = (bedingt)? Ausdruck1: Ausdruck2;

Das? Der Operator wertet zuerst die Bedingung aus. Wenn die Bedingung wahr ist, ist der Wert des Ausdrucks gleich dem Wert von Ausdruck1; Ansonsten ist es gleich dem Wert von Ausdruck2.

Beispielsweise könnten Sie eine Funktion maximum () wie folgt implementieren:

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

Der ternäre Operator kann auf jeden numerischen Typ angewendet werden, kann aber nicht überladen werden. Der ternäre Operator ist wirklich ein Ausdruck - keine Steueranweisung wie ein if.

Aufzählungstypen in C ++

Die einfache Idee ist, dass Sie Konstanten definieren und C ++ ihnen Werte zuweisen können, wie hier gezeigt:

enum Colors {SCHWARZ, BLAU, GRÜN, GELB, ROT}; Farben myColor = SCHWARZ;

Das Problem mit Aufzählungstypen liegt in der Implementierung: Anstatt einen echten Typ zu erstellen, verwendet C ++ ganze Zahlen. In diesem Fall wird BLACK der Wert 0 zugewiesen, BLUE wird 1 zugewiesen, GREEN2 und so weiter.

Die Standardbibliothek 2011 für C ++ hat dieses Problem "behoben", indem sie einen aufgezählten Klassentyp erstellt hat, wie im folgenden Ausschnitt gezeigt:

enum class Farben {SCHWARZ, BLAU, GRÜN, GELB, ROT}; Farben myColor = Farben:: SCHWARZ;

In dieser Version ist Colors ein neuer Typ.Jede der Konstanten, BLACK, BLUE usw., ist ein Member des Typs Colors. Sie können ein Objekt der Klasse Colors immer noch in ein Int umwandeln. Eine implizite Umwandlung ist jedoch nicht zulässig.

C ++ Namespaces

Es ist möglich, verschiedenen Entitäten in zwei verschiedenen Bibliotheken den gleichen Namen zu geben. Beispielsweise ordnet die Funktion grade () in der Student-Bibliothek wahrscheinlich eine Note zu, wohingegen die Funktion grade () in der CivilEngineering-Bibliothek die Neigung an der Seite eines Hügels festlegen kann. Um dieses Problem zu vermeiden, erlaubt C ++ dem Programmierer, ihren Code in einem separaten Namespace zu platzieren. Daher unterscheidet sich die Note innerhalb des Student-Namensraums von der Note in CivilEngineering.

Der Namespace ist über den Klassennamen hinaus. Die grade () - Memberfunktion der Klasse BullDozer im Namespace CivilEngineering hat den erweiterten Namen CivilEngineering:: BullDozer:: grade ().

Alle Bibliotheksobjekte und Funktionen befinden sich im Namensraum std. Die Anweisung am Anfang der Programmvorlage mit Namespace std; sagt, wenn Sie das angegebene Objekt nicht im Standard-Namespace sehen, dann suchen Sie in std.

reine virtuelle Funktionen in C ++

Sie müssen keine virtuell deklarierte Funktion definieren. Eine solche undefinierte Funktion ist als reine virtuelle Mitgliedsfunktion bekannt. Zu diesem Zeitpunkt werden die Dinge jedoch kompliziert. Beispielsweise wird eine Klasse mit einer oder mehreren reinen virtuellen Funktionen als abstrakt bezeichnet und kann nicht zum Erstellen eines Objekts verwendet werden. Nehmen Sie dieses Thema auf, nachdem Sie sich mit virtuellen Funktionen und späterem Binden wohl gefühlt haben.

Die C ++ String-Klasse

Die meisten Sprachen enthalten eine String-Klasse als einen intrinsischen Typ für die einfache Handhabung von Zeichenfolgen. Theoretisch sollte die String-Klasse dasselbe für C ++ tun. In der Praxis ist das jedoch nicht so einfach. Da string kein intrinsischer Typ ist, ähneln die Fehlermeldungen, die der Compiler beim Auftreten von Fehlern ausgibt, eher denen, die benutzerdefinierten Klassen zugeordnet sind. Für einen Anfänger können diese Nachrichten sehr schwer zu interpretieren sein.

string ist nicht einmal eine Klasse. Es ist eine Instanz einer Vorlagenklasse. Die Fehlermeldungen können atemberaubend sein.

Mehrfachvererbung in C ++

Eine Klasse kann tatsächlich mehr als eine Basisklasse erweitern. Das klingt einfach, kann aber sehr kompliziert werden, wenn die beiden Basisklassen Memberfunktionen mit demselben Namen enthalten. Noch schlimmer ist es, wenn beide Basisklassen selbst Unterklassen einer bestimmten Klasse sind.

In der Tat treten so viele Probleme auf, dass C ++ die einzige C-ähnliche Sprache ist, die Mehrfachvererbung unterstützt. Java und C #, beides Sprachen, die von C ++ abgeleitet sind, haben entschieden, die Unterstützung für die Mehrfachvererbung aufzugeben.

C ++ - Vorlagen und die Standardvorlagenbibliothek

Die Macher von C ++ haben bemerkt, dass ähnliche Funktionen wie die folgenden sind:

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

"Wäre es nicht cool", sagt man zu einem anderen, "wenn Sie den Typ durch einen Pseudo-Typ T ersetzen könnten, den Sie zur Kompilierzeit definieren könnten?"Bevor Sie es wissen, werden presto - Vorlagen Teil von C ++:

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

Jetzt kann der Programmierer Erstellen Sie ein max (int, int), indem Sie T durch int ersetzen und das Ergebnis kompilieren. Erstellen Sie ein max (double, double), indem Sie T durch double ersetzen und so weiter. Das Standardisierungskomitee hat sogar eine ganze Klassenbibliothek herausgegeben, die als Standard Template Library (kurz: STL) bekannt ist und auf Vorlagenklassen basiert.

Für einen Anfänger beginnt das Thema der Template-Klassen jedoch syntaktisch sehr kompliziert zu werden. Darüber hinaus sind die Fehler, die der Compiler erzeugt, wenn Sie eine Template-Instanziierung falsch erhalten, für einen Experten verwirrend, ganz zu schweigen von einem Anfänger. Dies ist definitiv ein Thema, das warten muss, bis Sie sich mit der Grundsprache wohl fühlen.

8 C ++ Not-So-Beginner-Funktionen - Dummies

Die Wahl des Herausgebers

Web Marketing: Warum Suchmaschinen existieren - Dummies

Web Marketing: Warum Suchmaschinen existieren - Dummies

Wenn Sie verstehen, warum Suchmaschinen existieren, können sie für Sie in Ihrem Web-Marketing-Geschäft arbeiten. Also, hier ist eine kurze Lektion, warum Suchmaschinen existieren und wie Sie sie nutzen können, um Geld zu verdienen. Suchmaschinen liefern Relevanz. Relevanz bedeutet, dass Besucher auf Suchergebnisse klicken und zufrieden sind mit ...

Was sind Tür- und Informationsseiten? - dummies

Was sind Tür- und Informationsseiten? - dummies

Eine Doorway-Seite wird nur als Zugang von einer Suchmaschine zu Ihrer Website erstellt. Doorway-Seiten werden manchmal als Gateway-Seiten und Geisterseiten bezeichnet. Die Idee besteht darin, hoch optimierte Seiten zu erstellen, die von Suchmaschinen aufgenommen und indiziert werden und die mit etwas Glück gut ranken und somit den Traffic auf eine ...

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Eine Weiterleitung ist das automatische Laden einer Seite ohne Benutzereingriff. Sie klicken auf einen Link, um eine Webseite in Ihren Browser zu laden, und innerhalb von Sekunden verschwindet die geladene Seite, und eine neue wird angezeigt. Designer erstellen häufig Seiten für Suchmaschinen - optimierte, schlüsselwortreiche Seiten -, die Besucher auf die ...

Die Wahl des Herausgebers

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

, Wenn Kunden wissen, dass sie direkt mit ein Geschäft in den sozialen Medien, können sie aus einer beliebigen Anzahl von Gründen mit ihnen in Verbindung treten. Aber sobald sie merken, dass ein Problem mit dem Kundenservice oder einer Produktfrage über einen einzigen Tweet oder Beitrag angesprochen werden kann, ist es wahrscheinlicher, dass sie mit dem Unternehmen Geschäfte machen.

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Die heutige Technologie verändert die Art und Weise, wie wir Geschäfte machen blitzschnell. Auch der Social-Media-Handel bewegt sich blitzschnell, aber durch die Beobachtung von Erwähnungen und Fragen an die Community können Sie einen Eindruck davon bekommen, wie Ihr Markt über bevorstehende Veränderungen denkt. Auch andere Posts können Ihnen helfen, kritisches Feedback aus der Öffentlichkeit zusammenzustellen ...

Manage Social Media Commerce mit HootSuite - dummies

Manage Social Media Commerce mit HootSuite - dummies

HootSuite ist ein Social Media Management System zur Umsetzung von Outreach und Überwachung in sozialen Netzwerken über ein einziges webbasiertes Dashboard. Für Unternehmen wird HootSuite am häufigsten von Social-Media-Teams mit mehreren Agenten verwendet, aber auch viele Einzelanwender mögen es. Wenn Sie auf der Suche nach einer robusten Plattform sind, die alles an einem Ort hält, ...

Die Wahl des Herausgebers

Die 5 Kornsterne der Mittelmeer - Dummies

Die 5 Kornsterne der Mittelmeer - Dummies

Die Mittelmeerdiät ist in der Praxis des Habens begründet ein Vollkorn zu jeder Mahlzeit. Und nein, das bedeutet nicht, eine ganze Platte Vollkornspaghetti mit Fleischsauce zum Abendessen zu essen. Stattdessen machen die Menschen im Mittelmeerraum ihr Getreide zur Beilage oder schaffen durch die Zugabe von magerem Eiweiß mehr Gleichgewicht ...

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Der Verzehr von sieben bis zehn Portionen Obst und Gemüse pro Tag, wie sie für die mediterrane Ernährung empfohlen werden, mag sehr viel erscheinen, aber es muss keine so große Herausforderung sein. Wenn Sie nicht die Früchte und das Gemüse lieben, die spezifisch mit der Mittelmeerdiät verbunden sind, ist das okay! Essen Sie jede Art von Obst oder Gemüse, die Sie ...

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Sie haben vielleicht gedacht, dass der Oregano und Basilikum in Ihrer Spaghetti-Sauce lieferte nur einen deutlichen italienischen oder mediterranen Geschmack, aber diese kleinen Kräuter sind Pflanzen, was bedeutet, dass sie alle Arten von gesundheitlichen Vorteilen haben, die einen großen Einfluss auf Ihre allgemeine Gesundheit haben können. Einfache Gewürze wie Ingwer und Oregano enthalten Phytochemikalien, ...