Sie sind hier
E-Book

Schrödinger programmiert C++

Das etwas andere Fachbuch

AutorDieter Bär
VerlagRheinwerk Computing
Erscheinungsjahr2015
Seitenanzahl696 Seiten
ISBN9783836238267
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis44,90 EUR

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

Aus dem Inhalt:

  • Ausführlicher Einstieg in ANSI C++
  • Von Entwicklungsumgebungen, Basisdatentypen, Kontrollstrukturen, Arrays, Strings, Vektoren und Co. über Klassen und Streams bis zur STL und zu C++14
  • Für die tägliche Programmierarbeit absolut geeignet
  • Eine Menge guter Beispiele, ach, unzählige davon!
  • Für Einsteiger und Umsteiger perfekt


Die Fachpresse zur Vorauflage:
iX - Magazin für professionelle Informationstechnik: »Eine locker zu lesende Einführung für Einsteiger.«

freiesMagazin: »Wenn man sich als Leser auf dieses ungewohnte Konzept einlässt, hat man viel Spaß an der Lektüre«

c't: »Das Buch eröffnet einen praxisnahen Zugang zur Arbeit mit C++. «



Er kennt Schrödinger wohl am besten: Dieter Bär. War ein Bier mit ihm trinken und ist zu Recht stolz, dass sein Kumpel in die Liga der echten Programmierer aufgestiegen ist. Bär kann nicht nur C++, auch C und Perl kann er auch nicht lassen.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
An den Leser2
Vorwort23
1 Wir richten uns ein ...: Entwicklungsumgebungen für C++25
Brauche ich eine IDE zum Programmieren?26
Multikulturelle Sachen27
Mikroweiche Sachen28
Die X-Sachen29
Angebissene Äpfel30
Lass uns endlich loslegen ...31
Übersetzen mit einer Entwicklungsumgebung31
g++ und clang++35
... am Ende läuft es37
2 Elefanten können nicht fliegen39
Was ist eigentlich ein Computerprogramm? Ganz kurz und knapp für alle Schrödingers40
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 Bildschirm50
Badewanne schon voll?50
Gib mir fünf51
Stream me up, Scotty51
Gegenseitige Wahrnehmung ...52
Manipulieren oder selber steuern?53
Noch ein wenig Brain-Streaming54
3 Verschiedene Typen für einen bestimmten Zweck: Die C++-Basistypen57
Starke Typen58
Mein Name ist Schrödinger59
Fundamentale und faule Typen59
Deklaration und Definition60
Ganzer Kerl dank ...61
Zeichenfolgen von Ganzzahlen62
Positive und/oder negative Haltung und ein Endteil62
Die Sache mit der Wahrheit ...63
Was nehmen wir für einen Typen?65
Die Welt der ganzen Kerle66
Was für den einen das Komma, ist für den anderen der Punkt67
Das Pünktchen in der Werkstatt68
Am Ende war das Pünktchen ...69
Zeichensalat70
Doch ein ganzer Kerl?71
Turmbau zu Babel72
Zum Flüchten ...73
Unicode-Unterstützung73
Zeichen für die Welt74
Erste "Zeichen" für eine Pause76
Auf die Größe kommt es an ...78
Je größer, desto besser79
The Final Frontier81
Gut, dass es Grenzen gibt ...83
4 Von Zahlen verweht ...: Arbeiten mit Zahlen85
Manueller Rechenschieber86
Erweiterter Grundrechenzuweisungsoperator87
Futter für den Prozessor88
Kopfrechnen90
Achtung vor den Doppelgängern90
Nachsitzen in Mathe92
Wenn Grenzen überschritten werden92
Ungenaues Pünktchen94
Schwächen offenlegen95
Mir raucht der Kopf97
Mathematische Spezialitäten99
Keine Ahnung, aber ich verwende es trotzdem101
Am Ende der Mathewelt104
Den Typ mag ich nicht106
Lass ihn doch ...106
Automatische Promotion107
Mit dem Hammer auf die Schraube108
Warum man sich nicht auf JEDEN Typ einlassen sollte ...110
Der sanfte Typ112
Automatische Typenableitung114
5 Eigene Entscheidungen treffen oder das Ganze nochmal bitte: Kontrollstrukturen in C++115
Endlich selbstständig sein und eigene Entscheidungen treffen116
Verzweigung, Abzweigung oder Kreuzung119
Wrong turn?121
Ein ganz anderer Fall125
Den Fall bearbeiten127
Den Fall analysieren129
Also sprach Zarathustra131
Immer diese Wiederholungen134
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 unten137
Und alles noch einmal ...138
6 Von gleichen und unterschiedlichen Typen141
Gleiche Typen in einer Reihe aufstellen142
Die Frickel- und Fummelfraktion von Ze143
Die Ze-Strings144
Gib mir rohen Input (Bio-Arrays)145
Das macht keinen Spaß147
Krankheiten von Ze-Arrays und Ze-Strings148
Die gleichen Typen in einer Reihe aufstellen und wieder zurück150
Die Komfortklasse(n) von Ze++150
Reduzierter Bioanteil in vector151
Reduzierter Bioanteil in string152
Nie mehr Bio(-Arrays)153
Am Ende hat es doch noch Spaß gemacht155
Die Mischlinge157
Zugriff auf die Mischlinge158
Endlich echte Schuhdaten159
Die gemischten Typen sind echt nützlich162
Von Unionen, Aufzählungen und Synonymen164
Die Lehre der Synonymie169
Leipziger Allerlei170
typedef Schrödinger hat_alles_kapiert_t172
Weißt du, wie viele Sternlein am Himmrl stehen?174
Ich weiß, wo du wohnst ...!175
Einbruch in fremde Wohnungen176
Wohnorte ermitteln176
Sternenkunde177
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 neu183
Speicherhalde und Müllbeseitigung184
RAM mit WoW-Freunden auf Anfrage186
RAM Unleashed189
7 Funktionen, das Ende von Copy & Paste ...193
Die Geister, die ich rufen will194
Meine Hausgeister195
Erster Kontakt zum Jenseits197
Geisterjäger im Wohnzimmer199
Opfergaben für die Geister201
Als Kopie übergeben (Call-by-Value)201
Als Adresse übergeben (Call-by-Reference)202
Referenzen als Funktionsparameter203
Ze-Zeugs als Funktionsparameter204
Strukturen und Klassen als Parameter205
Unsere Gaben wurden angenommen ...206
Unendliche Stille208
Das Jenseits antwortet dir211
Zeiger als Rückgabewert212
Dinge, die man besser nicht beschwören sollte ...1
Referenzen als Rückgabewert214
Die Stille ist zerrissen215
Hausgeister zurückgeben ...217
Jetzt bist du ein Medium218
Spezielle Geister220
Werte für den Notfall ...220
Gleicher Name, unterschiedliche Typen221
Rollerblades für Funktionen?221
main Programmende223
Jenseits von Eden224
Am Ende der Geisterwelt227
8 Wie aus Chaos Ordnung entsteht: Schlüsselwörter für Typen229
Eigenschaften ohne Ende230
Klasse, die Speicherklasse230
Typqualifikationen232
... und für die Funktionen auch noch Extrawürstchen233
Mindesthaltbarkeitsdatum ändern234
Gleich-Gültigkeitsbereich238
Extrawurst-Gültigkeitsbereich241
Einen neuen Lebensraum schaffen242
Betreten des neuen Lebensraumes243
Using me244
Ein eigenes kleines Königreich246
Anti-Globalisierung249
Anonymer Lebensraum250
Lebensraum im Wohnzimmer252
Das #Ding vor dem Compiler255
#include "paste ohne copy"256
#define "Symbol" und "Makro"256
Die Übersetzung dirigieren258
#Ich bestimme, was #du bekommst259
"No such file or directory", oder wo bin ich hier ...260
Makros und Symbole, oder doch lieber nicht?261
#Ich h### all## v##sch###t263
Und jetzt alle zusammen!265
Die Zutaten für den leckeren Kuchen266
"Symbol(s) not found", oder eine Zutat fehlt267
Die Einkaufsliste mit den Zutaten268
Eine nützliche Einkaufsliste, was alles so in einer Headerdatei verwenden werden könnte/sollte/muss ...268
Die Zutaten vorbereiten und abwiegen269
... und jetzt alles in die Schüssel270
Rein ins Vergnügen271
Meister der Quelldateien275
9 Von Hexenmeistern, Todesrittern und Datenkapseln277
Oben-ohne-Programmierung278
Klasse, Klassen!279
Objekte zum Mitnehmen279
Ein Objekt erblickt das Licht der Welt280
Kontrolle: Du kommst hier nicht durch282
Bei Klassendefinitionen den Überblick behalten284
Tieferer Einblick in die Elementfunktionen der Datenkapsel286
Du darfst hier nur lesen288
Elementfunktionen voll im Einsatz289
Toll, diese Klassenfunktionen291
Objekte erstellen293
Objekte auf die Welt bringen294
Zugriff auf die Öffentlichkeit der Klasse295
Indirekter Zugriff auf die Öffentlichkeit295
Objekte verwenden296
Die Geschichte von Objekten299
Aufbauen und vernichten302
Dienst nach Vorschrift302
Wir übernehmen selbst ...303
Konstruktoren mit mehreren Parametern304
Konstruktoren effektiver initialisieren305
Klassenelemente direkt initialisieren306
Am Ende alles wieder saubermachen ...306
Frühjahrsputz307
(K)ein Kartenhaus310
Deep inside312
Spezielle Konstruktoren312
Praxis Dr. Schrödinger315
Wohnung von Dr. Schrödinger317
The Big Three318
Spezielle Daten in der Kapsel319
Gute Freunde kann niemand trennen ...321
*Gong* Die letzte Runde wird eingeläutet323
Kampfanalyse328
10 Kino + WoW + Programmieren = viel Spaß: Überladen von Operatoren331
Eigene Rechengesetze332
Gestatten: operator332
Gesetze für die Herren Operatoren333
Operatoren nur für Freunde334
Die Pärchen verwenden die Operatoren335
Mit vereinten Kräften337
Glückliche Pärchen340
Einsame Operatoren überladen344
Das einsame Leben der einsamen Operatoren346
Am Ende bleibt ein einsamer Operator349
Weitere Operatoren überladen351
Logisch? Fast immer!351
"Typenverbiegenumwandler" überladen351
Input-Output-Kompott ...352
Spezielle Operatorüberladungen in der Praxis354
Spezialitäten auf dem Sofa360
Funktionsobjekte360
Indexoperator [ ] überladen361
new und delete überladen361
11 Schrödinger macht sein Testament: Abgeleitete Klassen363
Erben ohne Erbschaftssteuer364
Ewig schleichen die Erben367
Damit keiner leer ausgeht371
Jetzt das Kleingedruckte lesen373
Zugriffsrechte für den Beerbten373
News: Konstruktoren vererben (C++11)376
Das Kleingedruckte in der Praxis377
So macht erben langsam Spaß380
Private Mitglieder durchreichen ...381
Erbe verwenden und erweitern382
Redefinition383
Use me ...383
Unser Anlageberater verwaltet das Erbe385
Ordentlich angelegt387
Konstruktives und destruktives Vererben389
Implizite Klassenumwandlung391
Wer bekommt was ...392
Keiner geht leer aus ...394
Mehrfachvererbung396
Mehrfachvererbung in der Praxis398
Lohnt sich die Mehrfachvererbung überhaupt?401
Virtuelles Vererben403
Virtuelle Teilchen verwenden405
Zwischen Virtualität und Realität406
Abstrakte Welten408
Ein alter Bekannter ...408
Abstrakte Vielgestaltigkeit410
Jetzt wird es vielseitig – Polymorphie411
Virtuelle Zerstörungskraft413
Was vom Abstrakten übrig blieb414
Was bist du denn?415
override und final416
12 Ausstechformen für die Plätzchen: Templates419
Funktionen zum Ausstechen420
Verschiedene Teigsorten422
Plätzchen backen424
Am Ende sind nur noch Krümel da ...428
Klassen zum Ausstechen429
Klassen-Ausstecher-Elementfunktion definieren430
Klassen-Ausstecher-Elementfunktion überschreiben431
Objekte ausstechen432
Klassen-Ausstecher in der Praxis433
Klassen-Ausstecher in der Wohnung438
13 Der Schleudersitz für den Notfall: Ausnahmebehandlung441
Versuchen, werfen und auffangen442
Noch ein paar Hinweise für das Werfen444
Jetzt schmeiß schon!446
Was passiert danach ...?447
Homerun450
Mit Klassen um sich schmeißen453
Nix wie weg hier453
Schmeißen mit ganzen ­Klassen455
Homerun mit Klassen458
(Standard-)Ausnahmen im Angebot461
What ist dein Problem ...?462
Ausnahmen im System463
Wir probieren es aus464
Logischer Fehler: out_of_range464
Logischer Fehler: invalid_argument465
Logischer Fehler: length_error466
Logischer Fehler: ios_base::failure467
Standardausnahme-Kontrolle468
Ausnahme-Spezifikation und noexcept ?470
noexpect470
Hasta la vista, baby471
Ausnahmen verweigern472
Keine Erwartungen474
14 Unterwäsche, 100 % Baumwolle, Doppelripp475
Schurz, Schürzen, Schürzenjäger476
Strings anlegen und zuweisen476
Zugriff auf die einzelnen Zeichen479
Wie groß isses denn?480
Rohe Strings480
Noch mehr Unterwäsche481
Und noch mehr davon483
Klamottenkiste485
String konvertieren und manipulieren485
Such!486
Überladene Operatoren und Ein-/Ausgabe488
Ich kann’s nicht mehr hören: Strings490
Alles sauber dank "Schwarzer Zwerg"494
15 Ströme ohne Isolierkabel verwenden: Der Umgang mit Streams und Dateien495
Gib aus den Strom496
Rohe Eier raus ...498
Mehr formatierter Output bitte499
Wir schwenken die Flagge ...500
Jetzt ist es raus ...502
Wir ändern die Richtung505
Rohe Eier rein ...505
Wo ist mein Input?507
Jetzt ist es drin ...511
Wir manipulieren die Ströme513
Manipulation ist alles ...516
Ordentlich manipuliert ...520
Auch ein Strom hat seine Fehler522
Erst den Strom abstellen ...524
Die Sicherung ist geflogen525
Kann man auch was speichern?526
Datei-Slang526
Vorhandene Ströme für Dateien527
Strom für die Datei anschließen527
Plug-ins für den Dateistrom528
Den Dateistecker ziehen530
Alles gesichert ...?531
Sauber lesbare Sache531
Stück für Stück532
Zeile für Zeile534
Ganze Happen ...535
Wahlfreier Zugriff536
Daten wiederherstellen537
Ein Strom für einen String?541
Schürzenjäger-Strom543
Ohne Isolation545
16 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 Iteratoren551
Besser als "Selbermachen"552
... und schmeckt auch noch gut!555
Detaillierteres Arbeiten mit sequenziellen Fertigkuchen558
Behälter erstellen558
Zutaten hinzufügen559
Zugriff auf den Teig560
Wie viel passt rein561
Raus damit ...!561
Tausch mit mir, oder gib mir alle562
Mixen, sortieren und rühren562
Sequenzielle Fertigkuchen abschmecken563
Bereit zum Essen ...568
Detaillierteres Arbeiten mit assoziativen Fertigkuchen570
set und multiset571
map und multimap572
Bitte ein Bit-Feld ...!572
Assoziative Kuchen backen573
(multi)set me up573
Now (multi)map me!575
Bitte ein Bit!576
Auch assoziative Kuchen kann man essen579
Zwischen Fertigkuchen und weiteren Zutaten581
Funktionsobjekte581
Kategorie von Iteratoren583
Iterator-Adapter585
Die Hilfsmittel für Fertigkuchen und Zutaten im Einsatz586
Hilfe für den Iterator588
Allmählich wird es öde ...589
Die fleißigen Arbeiter592
Nicht-modifizierende Algorithmen592
Modifizierende Algorithmen593
Löschende Algorithmen594
Mutierende Algorithmen595
Sortierende Algorithmen596
Algorithmen für sortierte Bereiche597
Algorithmen verwenden598
Ende gut602
17 Schöne neue Welt C++11: C++11 - der neue Standard605
C++ auf dem neuesten Stand(ard)606
auto/decltype607
Einfachere Initialisierung607
Lambda-Funktionen608
Range-based-loop608
Explizite delete- und default-Funktionen609
nullptr609
constexpr610
Ein Konstruktor ruft einen anderen Konstruktor auf611
Move your body611
Neues Zeugs im Einsatz613
auto/decltype613
{}-Initialisierer verwenden613
Lambda-Funktion614
Move my own class615
Cool, das neue Zeugs616
Weitere nützliche Features617
Noch mehr Neuigkeiten ...619
Ein neues Array?619
Eine neue verkettete Liste?620
Hasch? Ist das nicht illegal?!620
Neue Algorithmen621
Tuple? Tulpe?622
Neue Planeten braucht das Universum623
Neue Backmischungen sind auch gut626
Kluge Zeiger628
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 Praxis634
Bist du auch so klug ...?637
Von Hieroglyphen und regulären Ausdrücken639
Mini-Sprachkurs zu den Hieroglyphen639
Objekt für die Hieroglyphen643
Die Algorithmen für Hieroglyphen643
Suchergebnis analysieren644
Suchen mit Hieroglyphen645
Cleopatra ist da ...652
Parallele Welten654
Viele Fäden erzeugen655
Bist du jetzt ein Faden oder nicht?657
Argumente für den Thread657
Wir nehmen jetzt die Fäden in die Hand658
Nur nicht den Faden verlieren661
Schütze deine Daten663
Ein Schloss für den Mutex666
Sicheres Initialisieren667
Totgesperrt668
Einmal bitte ...670
Am Ende des Fadens ...672
"Konditions"-Variable ...?672
Zusammenfassung674
18 C++ 14 – der Neue!: C++14 – der allerneueste Standard675
Schon wieder ein neuer Standard?676
Der Compiler weiß es doch sowieso immer besser677
Dann mach es doch auch selbst bei den Lambda-Funktionen677
Gammelcode an den Compiler verraten?678
Etwas für die Bitverdreher unter uns679
Und dann noch etwas für die Zahlenzerstückler680
Mr. Holmes, bitte übernehmen Sie ...681
Der Tanz mit den Lambda-Parametern682
Alte Sachen aufheben oder ausmisten?683
Mir reicht es jetzt mit der neuen Welt684
Noch ein paar mehr C++14-Sachen685
Index689

Weitere E-Books zum Thema: Programmiersprachen - Softwareentwicklung

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

ASP.NET Shortcut

E-Book ASP.NET Shortcut
Format: PDF

Shortcut-Tipps für ASP.NET-Profis Die neue .NET-Version der Active Server Pages stellt eine Umgebung zur Entwicklung von Web-Applikationen im .NET-Framework bereit. Viele aus der Desktop-…

Programmieren lernen in PHP 5

E-Book Programmieren lernen in PHP 5
Format: PDF

Mit der Version 5 erreicht PHP einen bemerkenswerten Reifegrad, der PHP zu einer festen Größe in der Welt der Webprogrammierung macht. Gerade die leichte Erlernbarkeit macht PHP zur idealen…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Mathematik für Informatiker

E-Book Mathematik für Informatiker
Format: PDF

Die Informatik entwickelt sich in einer unglaublichen Geschwindigkeit. Häufig ist die Mathematik Grundlage von Neuerungen. Deshalb ist sie unverzichtbares Werkzeug jedes Informatikers und Pflichtfach…

Weitere Zeitschriften

Berufsstart Gehalt

Berufsstart Gehalt

»Berufsstart Gehalt« erscheint jährlich zum Sommersemester im Mai mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

Card Forum International

Card Forum International

Card Forum International, Magazine for Card Technologies and Applications, is a leading source for information in the field of card-based payment systems, related technologies, and required reading ...

building & automation

building & automation

Das Fachmagazin building & automation bietet dem Elektrohandwerker und Elektroplaner eine umfassende Übersicht über alle Produktneuheiten aus der Gebäudeautomation, der Installationstechnik, dem ...

Euphorion

Euphorion

EUPHORION wurde 1894 gegründet und widmet sich als „Zeitschrift für Literaturgeschichte“ dem gesamten Fachgebiet der deutschen Philologie. Mindestens ein Heft pro Jahrgang ist für die ...