Der Artikel wird am Ende des Bestellprozesses zum Download zur Verfügung gestellt.

Schrödinger programmiert C++

Das etwas andere Fachbuch
Sofort lieferbar | Lieferzeit: Sofort lieferbar I
ISBN-13:
9783836238267
Veröffentl:
2015
Seiten:
696
Autor:
Dieter Bär
Serie:
Rheinwerk Computing
eBook Typ:
PDF
eBook Format:
EPUB
Kopierschutz:
1 - PDF Watermark
Sprache:
Deutsch
Beschreibung:

Schrödinger ist unser Mann fürs Programmieren! Er kann schon was, aber noch nicht C++. Schlau ist er, auch neugierig, aber zuweilen ungeduldig und etwas chaotisch. Er hasst Katzen und liebt WoW. Eigentlich der perfekte Partner, um endlich mal gründlich C++ zu lernen.Zum Buch:Ein Traum! Die volle Packung C++. Die nötige Theorie, viele Hinweise und Tipps [im Büro], Unmengen von gutem, aber auch schlechtem Code, der verbessert und repariert werden will [in der Werkstatt] mit viel Kaffee und Übungen und den verdienten Pausen [zu Hause im Wohnzimmer]. Und mittendrin ist Schrödinger und natürlich Du!Schrödinger garantiert: Ausführlicher Einstieg in ANSI C++ Doch auch für Fortgeschrittene ist einiges dabei Für die tägliche Programmierarbeit geeignet Jede Menge guter Beispiele Leichtes Lernen durch Abwechslung und Spaß Für Einsteiger, Umsteiger und Fortgeschrittene
An den Leser ... 2 Schrödingers Büro ... 4 Schrödingers Werkstatt ... 6 Schrödingers Wohnzimmer ... 8 Impressum ... 10 Inhaltsverzeichnis ... 12 Vorwort ... 23 1. Wir richten uns ein ...: Entwicklungsumgebungen für C++ ... 25 Brauche ich eine IDE zum Programmieren? ... 26 Multikulturelle Sachen ... 27 Mikroweiche Sachen ... 28 Die X-Sachen ... 29 Angebissene Äpfel ... 30 Lass uns endlich loslegen ... ... 31 Übersetzen mit einer Entwicklungsumgebung ... 31 g++ und clang++ ... 35 ... am Ende läuft es ... 37 2. Elefanten können nicht fliegen, aber Schrödinger kann programmieren: Erste Schritte in C++ ... 39 Was ist eigentlich ein Computerprogramm? Ganz kurz und knapp für alle Schrödingers ... 40 Die Sache mit dem main-Dings ... ... 41 Unser erstes main-Dings soll laufen ... ... 43 Endlich entspannen und träumen! ... 46 Kreuz und quer oder alles in Reih und Glied? ... 47 Kein Kommentar? ... 47 Wie komme ich hier zum Bildschirm ...? ... 48 Auf dem Weg zum Bildschirm ... 50 Badewanne schon voll? ... 50 Gib mir fünf ... 51 Stream me up, Scotty ... 51 Gegenseitige Wahrnehmung ... ... 52 Manipulieren oder selber steuern? ... 53 Noch ein wenig Brain-Streaming ... 54 3. Verschiedene Typen für einen bestimmten Zweck: Die C++-Basistypen ... 57 Starke Typen ... 58 Mein Name ist Schrödinger ... 59 Fundamentale und faule Typen ... 59 Deklaration und Definition ... 60 Ganzer Kerl dank ... ... 61 Zeichenfolgen von Ganzzahlen ... 62 Positive und/oder negative Haltung und ein Endteil ... 62 Die Sache mit der Wahrheit ... ... 63 Was nehmen wir für einen Typen? ... 65 Die Welt der ganzen Kerle ... 66 Was für den einen das Komma, ist für den anderen der Punkt ... ... 67 Das Pünktchen in der Werkstatt ... 68 Am Ende war das Pünktchen ... ... 69 Zeichensalat ... 70 Doch ein ganzer Kerl? ... 71 Turmbau zu Babel ... 72 Zum Flüchten ... ... 73 Unicode-Unterstützung ... 73 Zeichen für die Welt ... 74 Erste "Zeichen" für eine Pause ... 76 Auf die Größe kommt es an ... ... 78 Je größer, desto besser ... 79 The Final Frontier ... 81 Gut, dass es Grenzen gibt ... ... 83 4. Von Zahlen verweht ...: Arbeiten mit Zahlen ... 85 Manueller Rechenschieber ... 86 Erweiterter Grundrechenzuweisungsoperator ... 87 Futter für den Prozessor ... 88 Kopfrechnen ... 90 Achtung vor den Doppelgängern ... 90 Nachsitzen in Mathe ... 92 Wenn Grenzen überschritten werden ... 92 Ungenaues Pünktchen ... 94 Schwächen offenlegen ... 95 Mir raucht der Kopf ... 97 Mathematische Spezialitäten ... 99 Keine Ahnung, aber ich verwende es trotzdem ... 101 Am Ende der Mathewelt ... 104 Den Typ mag ich nicht ... 106 Lass ihn doch ... ... 106 Automatische Promotion ... 107 Mit dem Hammer auf die Schraube ... 108 Warum man sich nicht auf JEDEN Typ einlassen sollte ... ... 110 Der sanfte Typ ... 112 Automatische Typenableitung ... 114 5. Eigene Entscheidungen treffen oder das Ganze nochmal bitte: Kontrollstrukturen in C++ ... 115 Endlich selbstständig sein und eigene Entscheidungen treffen ... 116 Verzweigung, Abzweigung oder Kreuzung ... 119 Wrong turn? ... 121 Ein ganz anderer Fall ... 125 Den Fall bearbeiten ... 127 Den Fall analysieren ... 129 Also sprach Zarathustra ... 131 Immer diese Wiederholungen ... 134 Ein Schritt vor oder einer zurück ... ... 134 After a while ... ... 135 Now for it! ... 136 Fußnoten nicht vergessen! ... 137 Nach oben oder nach unten ... 137 Und alles noch einmal ... ... 138 6. Von gleichen und unterschiedlichen Typen, dem Sternchen und anderen ungemütlichen Sachen: Arrays, Strings, Vektoren, Strukturen und Zeiger ... 141 Gleiche Typen in einer Reihe aufstellen ... 142 Die Frickel- und Fummelfraktion von Ze ... 143 Die Ze-Strings ... 144 Gib mir rohen Input (Bio-Arrays) ... 145 Das macht keinen Spaß ... 147 Krankheiten von Ze-Arrays und Ze-Strings ... 148 Die gleichen Typen in einer Reihe aufstellen und wieder zurück ... 150 Die Komfortklasse(n) von Ze++ ... 150 Reduzierter Bioanteil in vector ... 151 Reduzierter Bioanteil in string ... 152 Nie mehr Bio(-Arrays) ... 153 Am Ende hat es doch noch Spaß gemacht ... 155 Die Mischlinge ... 157 Zugriff auf die Mischlinge ... 158 Endlich echte Schuhdaten ... 159 Die gemischten Typen sind echt nützlich ... 162 Von Unionen, Aufzählungen und Synonymen ... 164 1, 2, Freddy kommt vorbei, 3, 4, schließe deine Tür ... ... 165 Die Lehre der Synonymie ... 169 Leipziger Allerlei ... 170 typedef Schrödinger hat_alles_kapiert_t ... 172 Weißt du, wie viele Sternlein am Himmel stehen? ... 174 Ich weiß, wo du wohnst ...! ... 175 Einbruch in fremde Wohnungen ... 176 Wohnorte ermitteln ... 176 Sternenkunde ... 177 Ze-Zeugs, Zeiger und wo soll das hinführen ...?! ... 178 Zeiger auf nichts ...! ... 180 Wo geht's hier zur "Milky Way"? ... 181 Wo gibt's hier frischen RAM? ... 183 Alles neu ... 183 Speicherhalde und Müllbeseitigung ... 184 RAM mit WoW-Freunden auf Anfrage ... 186 RAM Unleashed ... 189 7. Funktionen, das Ende von Copy & Paste ...: Funktionen ... 193 Die Geister, die ich rufen will ... 194 Meine Hausgeister ... 195 Erster Kontakt zum Jenseits ... 197 Geisterjäger im Wohnzimmer ... 199 Opfergaben für die Geister ... 201 Als Kopie übergeben (Call-by-Value) ... 201 Als Adresse übergeben (Call-by-Reference) ... 202 Referenzen als Funktionsparameter ... 203 Ze-Zeugs als Funktionsparameter ... 204 Strukturen und Klassen als Parameter ... 205 Unsere Gaben wurden angenommen ... ... 206 Unendliche Stille ... 208 Das Jenseits antwortet dir ... 211 Zeiger als Rückgabewert ... 212 Dinge, die man besser nicht beschwören sollte ... ... 212 Referenzen als Rückgabewert ... 214 Die Stille ist zerrissen ... 215 Hausgeister zurückgeben ... ... 217 Jetzt bist du ein Medium ... 218 Spezielle Geister ... 220 Werte für den Notfall ... ... 220 Gleicher Name, unterschiedliche Typen ... 221 Rollerblades für Funktionen? ... 221 main Programmende ... 223 Jenseits von Eden ... 224 Am Ende der Geisterwelt ... 227 8. Wie aus Chaos Ordnung entsteht: Schlüsselwörter für Typen, Namensbereiche und die Präprozessor-Direktiven ... 229 Eigenschaften ohne Ende ... 230 Klasse, die Speicherklasse ... 230 Typqualifikationen ... 232 ... und für die Funktionen auch noch Extrawürstchen ... 233 Mindesthaltbarkeitsdatum ändern ... 234 Gleich-Gültigkeitsbereich ... 238 Extrawurst-Gültigkeitsbereich ... 241 Einen neuen Lebensraum schaffen ... 242 Betreten des neuen Lebensraumes ... 243 Using me ... 244 Ein eigenes kleines Königreich ... 246 Anti-Globalisierung ... 249 Anonymer Lebensraum ... 250 Lebensraum im Wohnzimmer ... 252 Das #Ding vor dem Compiler ... 255 #include "paste ohne copy" ... 256 #define "Symbol" und "Makro" ... 256 Die Übersetzung dirigieren ... 258 #Ich bestimme, was #du bekommst ... 259 "No such file or directory", oder wo bin ich hier ... ... 260 Makros und Symbole, oder doch lieber nicht? ... 261 #Ich h### all## v##sch###t ... 263 Und jetzt alle zusammen! ... 265 Die Zutaten für den leckeren Kuchen ... 266 "Symbol(s) not found", oder eine Zutat fehlt ... 267 Die Einkaufsliste mit den Zutaten ... 268 Eine nützliche Einkaufsliste, was alles so in einer Headerdatei verwendet werden könnte/sollte/muss ... ... 268 Die Zutaten vorbereiten und abwiegen ... 269 ... und jetzt alles in die Schüssel ... 270 Rein ins Vergnügen ... 271 Meister der Quelldateien ... 275 9. Von Hexenmeistern, Todesrittern und Datenkapseln: Klassen ... 277 Oben-ohne-Programmierung ... 278 Klasse, Klassen! ... 279 Objekte zum Mitnehmen ... 279 Ein Objekt erblickt das Licht der Welt ... 280 Kontrolle: Du kommst hier nicht durch ... 282 Bei Klassendefinitionen den Überblick behalten ... 284 Tieferer Einblick in die Elementfunktionen der Datenkapsel ... 286 Du darfst hier nur lesen ... 288 Elementfunktionen voll im Einsatz ... 289 Toll, diese Klassenfunktionen ... 291 Objekte erstellen ... 293 Objekte auf die Welt bringen ... 294 Zugriff auf die Öffentlichkeit der Klasse ... 295 Indirekter Zugriff auf die Öffentlichkeit ... 295 Objekte verwenden ... 296 Die Geschichte von Objekten ... 299 Aufbauen und vernichten ... 302 Dienst nach Vorschrift ... 302 Wir übernehmen selbst ... ... 303 Konstruktoren mit mehreren Parametern ... 304 Konstruktoren effektiver initialisieren ... 305 Klassenelemente direkt initialisieren ... 306 Am Ende alles wieder saubermachen ... ... 306 Frühjahrsputz ... 307 (K)ein Kartenhaus ... 310 Deep inside ... 312 Spezielle Konstruktoren ... 312 Praxis Dr. Schrödinger ... 315 Wohnung von Dr. Schrödinger ... 317 The Big Three ... 318 Spezielle Daten in der Kapsel ... 319 Gute Freunde kann niemand trennen ... ... 321 *Gong* Die letzte Runde wird eingeläutet ... 323 Kampfanalyse ... 32810. Kino + WoW + Programmieren = viel Spaß: Überladen von Operatoren ... 331 Eigene Rechengesetze ... 332 Gestatten: operator ... 332 Gesetze für die Herren Operatoren ... 333 Operatoren nur für Freunde ... 334 Die Pärchen verwenden die Operatoren ... 335 Mit vereinten Kräften ... 337 Glückliche Pärchen ... 340 Einsame Operatoren überladen ... 344 Das einsame Leben der einsamen Operatoren ... 346 Am Ende bleibt ein einsamer Operator ... 349 Weitere Operatoren überladen ... 351 Logisch? Fast immer! ... 351 "Typenverbiegenumwandler" überladen ... 351 Input-Output-Kompott ... ... 352 Spezielle Operatorüberladungen in der Praxis ... 354 Spezialitäten auf dem Sofa ... 360 Funktionsobjekte ... 360 Indexoperator [ ] überladen ... 361 new und delete überladen ... 36111. Schrödinger macht sein Testament: Abgeleitete Klassen ... 363 Erben ohne Erbschaftssteuer ... 364 Ewig schleichen die Erben ... 367 Damit keiner leer ausgeht ... 371 Jetzt das Kleingedruckte lesen ... 373 Zugriffsrechte für den Beerbten ... 373 News: Konstruktoren vererben (C++11) ... 376 Das Kleingedruckte in der Praxis ... 377 So macht erben langsam Spaß ... 380 Private Mitglieder durchreichen ... ... 381 Erbe verwenden und erweitern ... 382 Redefinition ... 383 Use me ... ... 383 Unser Anlageberater verwaltet das Erbe ... 385 Ordentlich angelegt ... 387 Konstruktives und destruktives Vererben ... 389 Implizite Klassenumwandlung ... 391 Wer bekommt was ... ... 392 Keiner geht leer aus ... ... 394 Mehrfachvererbung ... 396 Mehrfachvererbung in der Praxis ... 398 Lohnt sich die Mehrfachvererbung überhaupt? ... 401 Virtuelles Vererben ... 403 Virtuelle Teilchen verwenden ... 405 Zwischen Virtualität und Realität ... 406 Abstrakte Welten ... 408 Ein alter Bekannter ... ... 408 Abstrakte Vielgestaltigkeit ... 410 Jetzt wird es vielseitig -- Polymorphie ... 411 Virtuelle Zerstörungskraft ... 413 Was vom Abstrakten übrig blieb ... 414 Was bist du denn? ... 415 override und final ... 41612. Ausstechformen für die Plätzchen: Templates ... 419 Funktionen zum Ausstechen ... 420 Verschiedene Teigsorten ... 422 Plätzchen backen ... 424 Am Ende sind nur noch Krümel da ... ... 428 Klassen zum Ausstechen ... 429 Klassen-Ausstecher-Elementfunktion definieren ... 430 Klassen-Ausstecher-Elementfunktion überschreiben ... 431 Objekte ausstechen ... 432 Klassen-Ausstecher in der Praxis ... 433 Klassen-Ausstecher in der Wohnung ... 43813. Der Schleudersitz für den Notfall: Ausnahmebehandlung ... 441 Versuchen, werfen und auffangen ... 442 Noch ein paar Hinweise für das Werfen ... 444 Jetzt schmeiß schon! ... 446 Was passiert danach ...? ... 447 Homerun ... 450 Mit Klassen um sich schmeißen ... 453 Nix wie weg hier ... 453 Schmeißen mit ganzen ­Klassen ... 455 Homerun mit Klassen ... 458 (Standard-)Ausnahmen im Angebot ... 461 What ist dein Problem ...? ... 462 Ausnahmen im System ... 463 Wir probieren es aus ... 464 Logischer Fehler: out_of_range ... 464 Logischer Fehler: invalid_argument ... 465 Logischer Fehler: length_error ... 466 Logischer Fehler: ios_base::failure ... 467 Standardausnahme-Kontrolle ... 468 Ausnahme-Spezifikation und noexcept ? ... 470 noexpect ... 470 Hasta la vista, baby ... 471 Ausnahmen verweigern ... 472 Keine Erwartungen ... 47414. Unterwäsche, 100 % Baumwolle, Doppelripp: Die Standardklasse string ... 475 Schurz, Schürzen, Schürzenjäger ... 476 Strings anlegen und zuweisen ... 476 Zugriff auf die einzelnen Zeichen ... 479 Wie groß isses denn? ... 480 Rohe Strings ... 480 Noch mehr Unterwäsche ... 481 Und noch mehr davon ... 483 Klamottenkiste ... 485 String konvertieren und manipulieren ... 485 Such! ... 486 Überladene Operatoren und Ein-/Ausgabe ... 488 Ich kann's nicht mehr hören: Strings ... 490 Alles sauber dank "Schwarzer Zwerg" ... 49415. Ströme ohne Isolierkabel verwenden: Der Umgang mit Streams und Dateien ... 495 Gib aus den Strom ... 496 Rohe Eier raus ... ... 498 Mehr formatierter Output bitte ... 499 Wir schwenken die Flagge ... ... 500 Jetzt ist es raus ... ... 502 Wir ändern die Richtung ... 505 Rohe Eier rein ... ... 505 Wo ist mein Input? ... 507 Jetzt ist es drin ... ... 511 Wir manipulieren die Ströme ... 513 Manipulation ist alles ... ... 516 Ordentlich manipuliert ... ... 520 Auch ein Strom hat seine Fehler ... 522 Erst den Strom abstellen ... ... 524 Die Sicherung ist geflogen ... 525 Kann man auch was speichern? ... 526 Datei-Slang ... 526 Vorhandene Ströme für Dateien ... 527 Strom für die Datei anschließen ... 527 Plug-ins für den Dateistrom ... 528 Den Dateistecker ziehen ... 530 Alles gesichert ...? ... 531 Sauber lesbare Sache ... 531 Stück für Stück ... 532 Zeile für Zeile ... 534 Ganze Happen ... ... 535 Wahlfreier Zugriff ... 536 Daten wiederherstellen ... 537 Ein Strom für einen String? ... 541 Schürzenjäger-Strom ... 543 Ohne Isolation ... 54516. Ausstechformen für Faule: Einführung in die Standard Template Library (STL) ... 547 Fertigkuchen von Dr. STL ...? ... 548 Verschiedene Behälter (Container) ... 549 Algorithmen und Iteratoren ... 551 Besser als "Selbermachen" ... 552 ... und schmeckt auch noch gut! ... 555 Detaillierteres Arbeiten mit sequenziellen Fertigkuchen ... 558 Behälter erstellen ... 558 Zutaten hinzufügen ... 559 Zugriff auf den Teig ... 560 Wie viel passt rein, und wie viel ist drin ...? ... 561 Raus damit ...! ... 561 Tausch mit mir, oder gib mir alle ... 562 Mixen, sortieren und rühren ... 562 Sequenzielle Fertigkuchen abschmecken ... 563 Bereit zum Essen ... ... 568 Detaillierteres Arbeiten mit assoziativen Fertigkuchen ... 570 set und multiset ... 571 map und multimap ... 572 Bitte ein Bit-Feld ...! ... 572 Assoziative Kuchen backen ... 573 (multi)set me up, baby! ... 573 Now (multi)map me! ... 575 Bitte ein Bit! ... 576 Auch assoziative Kuchen kann man essen ... 579 Zwischen Fertigkuchen und weiteren Zutaten ... 581 Funktionsobjekte ... 581 Kategorie von Iteratoren ... 583 Iterator-Adapter ... 585 Die Hilfsmittel für Fertigkuchen und Zutaten im Einsatz ... 586 Hilfe für den Iterator ... 588 Allmählich wird es öde ... ... 589 Die fleißigen Arbeiter ... 592 Nicht-modifizierende Algorithmen ... 592 Modifizierende Algorithmen ... 593 Löschende Algorithmen ... 594 Mutierende Algorithmen ... 595 Sortierende Algorithmen ... 596 Algorithmen für sortierte Bereiche ... 597 Algorithmen verwenden ... 598 Ende gut, alles gut ... ... 60217. Schöne neue Welt C++11: C++11 - der neue Standard ... 605 C++ auf dem neuesten Stand(ard) ... 606 auto/decltype ... 607 Einfachere Initialisierung ... 607 Lambda-Funktionen ... 608 Range-based-loop ... 608 Explizite delete- und default-Funktionen ... 609 nullptr ... 609 constexpr ... 610 Ein Konstruktor ruft einen anderen Konstruktor auf ... 611 Move your body ... 611 Neues Zeugs im Einsatz ... 613 auto/decltype ... 613 {}-Initialisierer verwenden ... 613 Lambda-Funktion ... 614 Move my own class ... 615 Cool, das neue Zeugs ... 616 Weitere nützliche Features ... 617 Noch mehr Neuigkeiten ... ... 619 Ein neues Array? ... 619 Eine neue verkettete Liste? ... 620 Hasch? Ist das nicht illegal?! ... 620 Neue Algorithmen ... 621 Tuple? Tulpe? ... 622 Neue Planeten braucht das Universum ... 623 Neue Backmischungen sind auch gut ... 626 Kluge Zeiger ... 628 Ich bin der Klügste hier (shared_ptr) ... 630 Schwacher Zeiger (weak_ptr) ... 631 Egoistischer, aber kluger Zeiger (unique_ptr) ... 633 Klug auch in der Praxis ... 634 Bist du auch so klug ...? ... 637 Von Hieroglyphen und regulären Ausdrücken ... 639 Mini-Sprachkurs zu den Hieroglyphen ... 639 Objekt für die Hieroglyphen ... 643 Die Algorithmen für Hieroglyphen ... 643 Suchergebnis analysieren ... 644 Suchen mit Hieroglyphen ... 645 Cleopatra ist da ... ... 652 Parallele Welten ... 654 Viele Fäden erzeugen ... 655 Bist du jetzt ein Faden oder nicht? ... 657 Argumente für den Thread ... 657 Wir nehmen jetzt die Fäden in die Hand ... 658 Nur nicht den Faden verlieren ... 661 Schütze deine Daten ... 663 Ein Schloss für den Mutex ... 666 Sicheres Initialisieren ... 667 Totgesperrt ... 668 Einmal bitte ... ... 670 Am Ende des Fadens ... ... 672 "Konditions"-Variable ...? ... 672 Zusammenfassung ... 67418. C++ 14 -- der Neue!: C++14 -- der allerneueste Standard ... 675 Schon wieder ein neuer Standard? ... 676 Der Compiler weiß es doch sowieso immer besser ... 677 Dann mach es doch auch selbst bei den Lambda-Funktionen ... 677 Gammelcode an den Compiler verraten? ... 678 Etwas für die Bitverdreher unter uns ... 679 Und dann noch etwas für die Zahlenzerstückler ... 680 Mr. Holmes, bitte übernehmen Sie ... ... 681 Der Tanz mit den Lambda-Parametern ... 682 Alte Sachen aufheben oder ausmisten? ... 683 Mir reicht es jetzt mit der neuen Welt ... 684 Noch ein paar mehr C++14-Sachen ... 685 Index ... 689

Kunden Rezensionen

Zu diesem Artikel ist noch keine Rezension vorhanden.
Helfen sie anderen Besuchern und verfassen Sie selbst eine Rezension.

Google Plus
Powered by Inooga