Effektiv C++ programmieren: 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
München [u.a.]
Addison-Wesley
2006
|
Ausgabe: | 3. Ausg. |
Schriftenreihe: | Programmer's choice
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | 324 S. graph. Darst. |
ISBN: | 3827322979 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV021262114 | ||
003 | DE-604 | ||
005 | 20070917 | ||
007 | t | ||
008 | 051212s2006 d||| |||| 00||| ger d | ||
015 | |a 05,N49,0025 |2 dnb | ||
016 | 7 | |a 977041948 |2 DE-101 | |
020 | |a 3827322979 |c Gb. : EUR 29.95, EUR 30.80 (AT) |9 3-8273-2297-9 | ||
024 | 3 | |a 9783827322975 | |
028 | 5 | 2 | |a 2297 |
035 | |a (OCoLC)163367768 | ||
035 | |a (DE-599)BVBBV021262114 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
049 | |a DE-91G |a DE-12 |a DE-859 |a DE-703 |a DE-29T |a DE-573 |a DE-860 |a DE-Aug4 |a DE-20 |a DE-523 |a DE-526 |a DE-B768 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 004 |2 sdnb | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Meyers, Scott |d 1959- |e Verfasser |0 (DE-588)113101856 |4 aut | |
240 | 1 | 0 | |a Effective C++ |
245 | 1 | 0 | |a Effektiv C++ programmieren |b 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |c Scott Meyers |
250 | |a 3. Ausg. | ||
264 | 1 | |a München [u.a.] |b Addison-Wesley |c 2006 | |
300 | |a 324 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Programmer's choice | |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 0 | |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014583344&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-014583344 |
Datensatz im Suchindex
_version_ | 1804135037321347072 |
---|---|
adam_text | Inhalt
Vorwort 11
Danksagung I3
Einleitung 17
Terminologie 19
Namenskonventionen 24
Threads 25
TR1 und Boost 25
1 Machen Sie sich mit C++ vertraut 27
1.1 Tipp 1: Betrachten Sie C++als eine Kombination von Sprachen 27
1.2 Tipp 2: Ziehen Sie const, enum und inline gegenüber #define vor 29
1.3 Tipp 3: Verwenden Sie nach Möglichkeit const 33
1.3.1 Konstante Elementfunktionen 36
1.3.2 Die Duplizierung in konstanten und nicht konstanten Elementfunktionen
vermeiden 39
1.4 Tipp 4: Initialisieren Sie Objekte vor ihrer Verwendung 43
2 Konstruktoren, Destruktoren und Zuweisungsoperatoren 51
2.1 Tipp 5: Lernen Sie die Funktion kennen, die C++ implizit schreibt und
aufruft 51
2.2 Tipp 6: Untersagen Sie ausdrücklich die Verwendung unerwünschter
compilergenerierter Funktionen 54
2.3 Tipp 7: Deklarieren Sie Destruktoren virtuell in polymorphen Basisklassen 57
2.4 Tipp 8: Verhindern Sie, dass Ausnahmen Destruktoren überschreiten 62
2.5 Tipp 9: Rufen Sie während der Konstruktion oder Zerstörung niemals
virtuelle Funktionen auf 66
2.6 Tipp 10: Lassen Sie Zuweisungsoperatoren einen Verweis auf *this
zurückgeben 71
2.7 Tipp 11: Führen Sie die Selbstzuweisung in operator= durch 72
2.8 Tipp 12: Kopieren Sie alle Teile eines Objekts 76
6 Inhalt
3 Ressourcenverwaltung 81
3.1 Tipp 13: Verwenden Sie Objekte zur Ressourcenverwaltung 81
3.2 Tipp 14: Bedenken Sie das Kopierverhalten in Klassen zur
Ressourcenverwaltung 87
3.3 Tipp 15: Bieten Sie in Klassen zur Ressourcenverwaltung einen Zugriff auf
Rohressourcen an 90
3.4 Tipp 16: Verwenden Sie für einander entsprechende Anwendungen von new
und delete die gleiche Form 94
3.5 Tipp 17: Speichern Sie mit new erzeugte Objekte in intelligenten Zeigern
eigenständiger Anweisungen 97
4 Design und Deklaration 101
4.1 Tipp 18: Erleichtern Sie die korrekte und erschweren Sie die falsche
Verwendung von Schnittstellen 101
4.2 Tipp 19: Behandeln Sie Klassendesign als Typdesign 107
4.3 Tipp 20: Übergeben Sie Objekte lieber als Verweis auf const statt als Wert 110
4.4 Tipp 21: Geben Sie keine Verweise zurück, wenn Sie ein Objekt zurückgeben
müssen 114
4.5 Tipp 22: Deklarieren Sie Datenelemente als privat 119
4.6 Tipp 23: Ziehen Sie nicht befreundete Nichtelement funktionen den
Elementfunktionen vor 122
4.7 Tipp 24: Deklarieren Sie Nichtelementfunktionen bei Typumwandlungen für
alle Parameter 127
4.8 Tipp 25: Unterstützen Sie die ausnahmefreie swap Funktion 131
5 Implementierung 139
5.1 Tipp 26: Schieben Sie die Variablendefinition so lange wie möglich auf 139
5.2 Tipp 27: Minimieren Sie die explizite Typumwandlung 142
5.3 Tipp 28: Geben Sie keine »Handies« für interne Daten eines Objekts zurück 150
5.4 Tipp 29: Streben Sie ausnahmesicheren Code an 153
5.5 Tipp 30: Lernen Sie die Einzelheiten von Inline Funktionen kennen 161
5.6 Tipp 31: Minimieren Sie die Kompilierungsabhängigkeiten zwischen Dateien 167
6 Vererbung und objektorientiertes Design 177
6.1 Tipp 32: Modellieren Sie bei der öffentlichen Vererbung die Beziehung
»ist ein« 178
6.2 Tipp 33: Verdecken Sie keine geerbten Namen 184
6.3 Tipp 34: Unterscheiden Sie zwischen der Vererbung der Schnittstelle und der
Implementierung 190
6.4 Tipp 35: Verwenden Sie Alternativen zu virtuellen Funktionen 198
6.5 Tipp 36: Definieren Sie geerbte nicht virtuelle Funktionen nicht neu 207
6.6 Tipp 37: Definieren Sie den geerbten Standard parameterwert einer
Funktion nicht neu 210
6.7 Tipp 38: Modellieren Sie die Beziehungen »hat ein« und »ist implementiert
in Form von« durch Komposition 214
Inhalt 7
6.8 Tipp 39: Seien Sie bei der privaten Vererbung vorsichtig 217
6.9 Tipp 40: Seien Sie bei der mehrfachen Vererbung vorsichtig 223
7 Templates und generische Programmierung 231
7.1 Tipp 41: Machen Sie sich mit impliziten Schnittstellen und Polymorphismus
zur Kompilierungszeit vertraut 231
7.2 Tipp 42: Lernen Sie die zwei Bedeutungen von typename kennen 235
7.3 Tipp 43: Lernen Sie den Zugriff auf Namen in Template Basisklassen 240
7.4 Tipp 44: Entfernen Sie parameterunabhängigen Code aus Templates 245
7.5 Tipp 45: Verwenden Sie Elementfunktions Templates für
»alle kompatiblen Typen« 251
7.6 Tipp 46: Definieren Sie bei erforderlichen Typumwandlungen
Nichtelementfunktionen innerhalb von Templates 256
7.7 Tipp 47: Verwenden Sie Traits Klassen für Informationen über Typen 260
7.8 Tipp 48: Beachten Sie die Template Metaprogrammierung 267
8 Anpassung von new und delete 275
8.1 Tipp 49: Lernen Sie das Verhalten des new Handlers kennen 276
8.2 Tipp 50: Erkennen Sie, wann es sinnvoll ist, new und delete zu ersetzen 284
8.3 Tipp 51: Halten Sie sich beim Schreiben von new und delete an die üblichen
Vereinbarungen 289
8.4 Tipp 52: Verwenden Sie bei Placement new auch Placement delete 293
9 Verschiedenes 301
9.1 Tipp 53: Beachten Sie Compilerwarnungen 301
9.2 Tipp 54: Machen Sie sich mit der Standardbibliothek einschließlich TR1
vertraut 302
9.3 Tipp 55: Machen Sie sich mit Boost vertraut 308
A Weiterführende Lektüre 313
B Zuordnung der Tipps zur vorhergehenden Ausgabe 315
Index 317
|
adam_txt |
Inhalt
Vorwort 11
Danksagung I3
Einleitung 17
Terminologie 19
Namenskonventionen 24
Threads 25
TR1 und Boost 25
1 Machen Sie sich mit C++ vertraut 27
1.1 Tipp 1: Betrachten Sie C++als eine Kombination von Sprachen 27
1.2 Tipp 2: Ziehen Sie const, enum und inline gegenüber #define vor 29
1.3 Tipp 3: Verwenden Sie nach Möglichkeit const 33
1.3.1 Konstante Elementfunktionen 36
1.3.2 Die Duplizierung in konstanten und nicht konstanten Elementfunktionen
vermeiden 39
1.4 Tipp 4: Initialisieren Sie Objekte vor ihrer Verwendung 43
2 Konstruktoren, Destruktoren und Zuweisungsoperatoren 51
2.1 Tipp 5: Lernen Sie die Funktion kennen, die C++ implizit schreibt und
aufruft 51
2.2 Tipp 6: Untersagen Sie ausdrücklich die Verwendung unerwünschter
compilergenerierter Funktionen 54
2.3 Tipp 7: Deklarieren Sie Destruktoren virtuell in polymorphen Basisklassen 57
2.4 Tipp 8: Verhindern Sie, dass Ausnahmen Destruktoren überschreiten 62
2.5 Tipp 9: Rufen Sie während der Konstruktion oder Zerstörung niemals
virtuelle Funktionen auf 66
2.6 Tipp 10: Lassen Sie Zuweisungsoperatoren einen Verweis auf *this
zurückgeben 71
2.7 Tipp 11: Führen Sie die Selbstzuweisung in operator= durch 72
2.8 Tipp 12: Kopieren Sie alle Teile eines Objekts 76
6 Inhalt
3 Ressourcenverwaltung 81
3.1 Tipp 13: Verwenden Sie Objekte zur Ressourcenverwaltung 81
3.2 Tipp 14: Bedenken Sie das Kopierverhalten in Klassen zur
Ressourcenverwaltung 87
3.3 Tipp 15: Bieten Sie in Klassen zur Ressourcenverwaltung einen Zugriff auf
Rohressourcen an 90
3.4 Tipp 16: Verwenden Sie für einander entsprechende Anwendungen von new
und delete die gleiche Form 94
3.5 Tipp 17: Speichern Sie mit new erzeugte Objekte in intelligenten Zeigern
eigenständiger Anweisungen 97
4 Design und Deklaration 101
4.1 Tipp 18: Erleichtern Sie die korrekte und erschweren Sie die falsche
Verwendung von Schnittstellen 101
4.2 Tipp 19: Behandeln Sie Klassendesign als Typdesign 107
4.3 Tipp 20: Übergeben Sie Objekte lieber als Verweis auf const statt als Wert 110
4.4 Tipp 21: Geben Sie keine Verweise zurück, wenn Sie ein Objekt zurückgeben
müssen 114
4.5 Tipp 22: Deklarieren Sie Datenelemente als privat 119
4.6 Tipp 23: Ziehen Sie nicht befreundete Nichtelement funktionen den
Elementfunktionen vor 122
4.7 Tipp 24: Deklarieren Sie Nichtelementfunktionen bei Typumwandlungen für
alle Parameter 127
4.8 Tipp 25: Unterstützen Sie die ausnahmefreie swap Funktion 131
5 Implementierung 139
5.1 Tipp 26: Schieben Sie die Variablendefinition so lange wie möglich auf 139
5.2 Tipp 27: Minimieren Sie die explizite Typumwandlung 142
5.3 Tipp 28: Geben Sie keine »Handies« für interne Daten eines Objekts zurück 150
5.4 Tipp 29: Streben Sie ausnahmesicheren Code an 153
5.5 Tipp 30: Lernen Sie die Einzelheiten von Inline Funktionen kennen 161
5.6 Tipp 31: Minimieren Sie die Kompilierungsabhängigkeiten zwischen Dateien 167
6 Vererbung und objektorientiertes Design 177
6.1 Tipp 32: Modellieren Sie bei der öffentlichen Vererbung die Beziehung
»ist ein« 178
6.2 Tipp 33: Verdecken Sie keine geerbten Namen 184
6.3 Tipp 34: Unterscheiden Sie zwischen der Vererbung der Schnittstelle und der
Implementierung 190
6.4 Tipp 35: Verwenden Sie Alternativen zu virtuellen Funktionen 198
6.5 Tipp 36: Definieren Sie geerbte nicht virtuelle Funktionen nicht neu 207
6.6 Tipp 37: Definieren Sie den geerbten Standard parameterwert einer
Funktion nicht neu 210
6.7 Tipp 38: Modellieren Sie die Beziehungen »hat ein« und »ist implementiert
in Form von« durch Komposition 214
Inhalt 7
6.8 Tipp 39: Seien Sie bei der privaten Vererbung vorsichtig 217
6.9 Tipp 40: Seien Sie bei der mehrfachen Vererbung vorsichtig 223
7 Templates und generische Programmierung 231
7.1 Tipp 41: Machen Sie sich mit impliziten Schnittstellen und Polymorphismus
zur Kompilierungszeit vertraut 231
7.2 Tipp 42: Lernen Sie die zwei Bedeutungen von typename kennen 235
7.3 Tipp 43: Lernen Sie den Zugriff auf Namen in Template Basisklassen 240
7.4 Tipp 44: Entfernen Sie parameterunabhängigen Code aus Templates 245
7.5 Tipp 45: Verwenden Sie Elementfunktions Templates für
»alle kompatiblen Typen« 251
7.6 Tipp 46: Definieren Sie bei erforderlichen Typumwandlungen
Nichtelementfunktionen innerhalb von Templates 256
7.7 Tipp 47: Verwenden Sie Traits Klassen für Informationen über Typen 260
7.8 Tipp 48: Beachten Sie die Template Metaprogrammierung 267
8 Anpassung von new und delete 275
8.1 Tipp 49: Lernen Sie das Verhalten des new Handlers kennen 276
8.2 Tipp 50: Erkennen Sie, wann es sinnvoll ist, new und delete zu ersetzen 284
8.3 Tipp 51: Halten Sie sich beim Schreiben von new und delete an die üblichen
Vereinbarungen 289
8.4 Tipp 52: Verwenden Sie bei Placement new auch Placement delete 293
9 Verschiedenes 301
9.1 Tipp 53: Beachten Sie Compilerwarnungen 301
9.2 Tipp 54: Machen Sie sich mit der Standardbibliothek einschließlich TR1
vertraut 302
9.3 Tipp 55: Machen Sie sich mit Boost vertraut 308
A Weiterführende Lektüre 313
B Zuordnung der Tipps zur vorhergehenden Ausgabe 315
Index 317 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Meyers, Scott 1959- |
author_GND | (DE-588)113101856 |
author_facet | Meyers, Scott 1959- |
author_role | aut |
author_sort | Meyers, Scott 1959- |
author_variant | s m sm |
building | Verbundindex |
bvnumber | BV021262114 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)163367768 (DE-599)BVBBV021262114 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 3. Ausg. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01582nam a2200421 c 4500</leader><controlfield tag="001">BV021262114</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20070917 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">051212s2006 d||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">05,N49,0025</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">977041948</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3827322979</subfield><subfield code="c">Gb. : EUR 29.95, EUR 30.80 (AT)</subfield><subfield code="9">3-8273-2297-9</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783827322975</subfield></datafield><datafield tag="028" ind1="5" ind2="2"><subfield code="a">2297</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)163367768</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV021262114</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakddb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-860</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-20</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-526</subfield><subfield code="a">DE-B768</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">004</subfield><subfield code="2">sdnb</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">DAT 358f</subfield><subfield code="2">stub</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Meyers, Scott</subfield><subfield code="d">1959-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)113101856</subfield><subfield code="4">aut</subfield></datafield><datafield tag="240" ind1="1" ind2="0"><subfield code="a">Effective C++</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Effektiv C++ programmieren</subfield><subfield code="b">55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern</subfield><subfield code="c">Scott Meyers</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. Ausg.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">München [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2006</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">324 S.</subfield><subfield code="b">graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">Programmer's choice</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014583344&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-014583344</subfield></datafield></record></collection> |
id | DE-604.BV021262114 |
illustrated | Illustrated |
index_date | 2024-07-02T13:42:19Z |
indexdate | 2024-07-09T20:34:08Z |
institution | BVB |
isbn | 3827322979 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-014583344 |
oclc_num | 163367768 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-12 DE-859 DE-703 DE-29T DE-573 DE-860 DE-Aug4 DE-20 DE-523 DE-526 DE-B768 |
owner_facet | DE-91G DE-BY-TUM DE-12 DE-859 DE-703 DE-29T DE-573 DE-860 DE-Aug4 DE-20 DE-523 DE-526 DE-B768 |
physical | 324 S. graph. Darst. |
publishDate | 2006 |
publishDateSearch | 2006 |
publishDateSort | 2006 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Programmer's choice |
spelling | Meyers, Scott 1959- Verfasser (DE-588)113101856 aut Effective C++ Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern Scott Meyers 3. Ausg. München [u.a.] Addison-Wesley 2006 324 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Programmer's choice C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014583344&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Meyers, Scott 1959- Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4193909-8 |
title | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |
title_alt | Effective C++ |
title_auth | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |
title_exact_search | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |
title_exact_search_txtP | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |
title_full | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern Scott Meyers |
title_fullStr | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern Scott Meyers |
title_full_unstemmed | Effektiv C++ programmieren 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern Scott Meyers |
title_short | Effektiv C++ programmieren |
title_sort | effektiv c programmieren 55 moglichkeiten ihre programme und entwurfe zu verbessern |
title_sub | 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |
topic | C++ (DE-588)4193909-8 gnd |
topic_facet | C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=014583344&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT meyersscott effectivec AT meyersscott effektivcprogrammieren55moglichkeitenihreprogrammeundentwurfezuverbessern |