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
2011
|
Ausgabe: | 3. Aufl. |
Schriftenreihe: | Programmer's Choice
|
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | 326 S. Ill., graph. Darst. |
ISBN: | 9783827330789 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV037342473 | ||
003 | DE-604 | ||
005 | 20110926 | ||
007 | t | ||
008 | 110415s2011 gw ad|| |||| 00||| ger d | ||
015 | |a 11,N08 |2 dnb | ||
016 | 7 | |a 1010116770 |2 DE-101 | |
020 | |a 9783827330789 |c : EUR 34.80 (DE), EUR 35.80 (AT), sfr 54.90 (freier Pr.) |9 978-3-8273-3078-9 | ||
024 | 3 | |a 9783827330789 | |
035 | |a (OCoLC)723367111 | ||
035 | |a (DE-599)DNB1010116770 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-BY | ||
049 | |a DE-1050 |a DE-523 |a DE-12 |a DE-11 |a DE-91G |a DE-83 |a DE-Aug4 |a DE-863 |a DE-634 |a DE-188 |a DE-862 |a DE-1046 |a DE-19 |a DE-M347 |a DE-B768 | ||
082 | 0 | |a 005.133 |2 22/ger | |
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 | |
245 | 1 | 0 | |a Effektiv C++ programmieren |b 55 Möglichkeiten, Ihre Programme und Entwürfe zu verbessern |c Scott Meyers |
250 | |a 3. Aufl. | ||
264 | 1 | |a München [u.a.] |b Addison Wesley |c 2011 | |
300 | |a 326 S. |b Ill., 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 X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=3672170&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=022496157&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-022496157 |
Datensatz im Suchindex
DE-BY-862_location | 2000 |
---|---|
DE-BY-863_location | 1340 |
DE-BY-FWS_call_number | 1340/ST 250 C01 M613(3) 2000/ST 250 C01 M613(3) |
DE-BY-FWS_katkey | 402405 |
DE-BY-FWS_media_number | 083101151947 083000503963 |
_version_ | 1815846385677762560 |
adam_text |
IMAGE 1
INHALT
VORWORT ZUR SONDERAUSGABE 2011 II
VORWORT 13
DANKSAGUNG 15
EINLEITUNG 19
TERMINOLOGIE 21
NAMENSKONVENTIONEN 26
THREADS 27
TR1 UND BOOST 27
1 MACHEN SIE SICH MIT C++ VERTRAUT 29
1.1 TIPPL: BETRACHTEN SIE C++ALS EINE KOMBINATION VON SPRACHEN 29 1.2
TIPP 2: ZIEHEN SIE CONST, ENUM UND INLINE GEGENUEBER #DEFINE VOR 31 1.3
TIPP 3: VERWENDEN SIE NACH MOEGLICHKEIT CONST 35
1.3.1 KONSTANTE ELEMENTFUNKTIONEN 38
1.3.2 DIE DUPLIZIERUNG IN KONSTANTEN UND NICHT KONSTANTEN
ELEMENTFUNKTIONEN VERMEIDEN 41
1.4 TIPP 4: INITIALISIEREN SIE OBJEKTE VOR IHRER VERWENDUNG 45
2 KONSTRUKTOREN, DESTRUKTOREN UND ZUWEISUNGSOPERATOREN 53
2.1 TIPP 5: LERNEN SIE DIE FUNKTION KENNEN, DIE C++ IMPLIZIT SCHREIBT
UND AUFRUFT 53
2.2 TIPP 6: UNTERSAGEN SIE AUSDRUECKLICH DIE VERWENDUNG UNERWUENSCHTER
COMPILERGENERIERTER FUNKTIONEN 56
2.3 TIPP 7: DEKLARIEREN SIE DESTRUKTOREN VIRTUELL IN POLYMORPHEN
BASISKLASSEN 59 2.4 TIPP 8: VERHINDERN SIE, DASS AUSNAHMEN DESTRUKTOREN
UEBERSCHREITEN 64 2.5 TIPP 9: RUFEN SIE WAEHREND DER KONSTRUKTION ODER
ZERSTOERUNG NIEMALS VIRTUELLE FUNKTIONEN AUF 68
2.6 TIPP 10: LASSEN SIE ZUWEISUNGSOPERATOREN EINEN VERWEIS AUF *THIS
ZURUECKGEBEN 73
2.7 TIPP 11: FUEHREN SIE DIE SELBSTZUWEISUNG IN OPERATOR= DURCH 74
2.8 TIPP 12: KOPIEREN SIE ALLE TEILE EINES OBJEKTS 78
BIBLIOGRAFISCHE INFORMATIONEN HTTP://D-NB.INFO/1010116770
DIGITALISIERT DURCH
IMAGE 2
INHALT
3 RESSOURCENVERWALTUNG 83
3.1 TIPP 13: VERWENDEN SIE OBJEKTE ZUR RESSOURCENVERWALTUNG 83 3.2 TIPP
14: BEDENKEN SIE DAS KOPIERVERHALTEN IN KLASSEN ZUR RESSOURCENVERWALTUNG
89
3.3 TIPP 15: BIETEN SIE IN KLASSEN ZUR RESSOURCENVERWALTUNG EINEN
ZUGRIFF AUF ROHRESSOURCEN AN 92
3.4 TIPP 16: VERWENDEN SIE FUER EINANDER ENTSPRECHENDE ANWENDUNGEN VON
NEW UND DELETE DIE GLEICHE FORM 96
3.5 TIPP 17: SPEICHERN SIE MIT NEW ERZEUGTE OBJEKTE IN INTELLIGENTEN
ZEIGERN EIGENSTAENDIGER ANWEISUNGEN 99
4 DESIGN UND DEKLARATION 103
4.1 TIPP 18: ERLEICHTERN SIE DIE KORREKTE UND ERSCHWEREN SIE DIE FALSCHE
VERWENDUNG VON SCHNITTSTELLEN 103
4.2 TIPP 19: BEHANDELN SIE KLASSENDESIGN ALS TYPDESIGN 109
4.3 TIPP 20: UEBERGEBEN SIE OBJEKTE LIEBER ALS VERWEIS AUF CONST STATT
ALS WERT 112 4.4 TIPP 21: GEBEN SIE KEINE VERWEISE ZURUECK, WENN SIE EIN
OBJEKT ZURUECKGEBEN MUESSEN 116
4.5 TIPP 22: DEKLARIEREN SIE DATENELEMENTE ALS PRIVAT 121
4.6 TIPP 23: ZIEHEN SIE NICHT BEFREUNDETE NICHTELEMENT-FUNKTIONEN DEN
ELEMENTFUNKTIONEN VOR 124
4.7 TIPP 24: DEKLARIEREN SIE NICHTELEMENTFUNKTIONEN BEI TYPUMWANDLUNGEN
FUER ALLE PARAMETER 129
4.8 TIPP 25: UNTERSTUETZEN SIE DIE AUSNAHMEFREIE SWAP-FUNKTION 133
5 IMPLEMENTIERUNG 141
5.1 TIPP 26: SCHIEBEN SIE DIE VARIABLENDEFINITION SO LANGE WIE MOEGLICH
AUF 141 5.2 TIPP 27: MINIMIEREN SIE DIE EXPLIZITE TYPUMWANDLUNG 144
5.3 TIPP 28: GEBEN SIE KEINE »HANDIES FUER INTERNE DATEN EINES OBJEKTS
ZURUECK 152 5.4 TIPP 29: STREBEN SIE AUSNAHMESICHEREN CODE AN 155
5.5 TIPP 30: LERNEN SIE DIE EINZELHEITEN VON INLINE-FUNKTIONEN KENNEN
163 5.6 TIPP 31: MINIMIEREN SIE DIE KOMPILIERUNGSABHAENGIGKEITEN ZWISCHEN
DATEIEN 169
6 VERERBUNG UND OBJEKTORIENTIERTES DESIGN 179
6.1 TIPP 32: MODELLIEREN SIE BEI DER OEFFENTLICHEN VERERBUNG DIE
BEZIEHUNG »IST EIN 180
6.2 TIPP 33: VERDECKEN SIE KEINE GEERBTEN NAMEN 186
6.3 TIPP 34: UNTERSCHEIDEN SIE ZWISCHEN DER VERERBUNG DER SCHNITTSTELLE
UND DER IMPLEMENTIERUNG 192
6.4 TIPP 35: VERWENDEN SIE ALTERNATIVEN ZU VIRTUELLEN FUNKTIONEN 200 6.5
TIPP 36: DEFINIEREN SIE GEERBTE NICHT VIRTUELLE FUNKTIONEN NICHT NEU 209
6.6 TIPP 37: DEFINIEREN SIE DEN GEERBTEN STANDARD-PARAMETERWERT EINER
FUNKTION NICHT NEU 212
6.7 TIPP 38: MODELLIEREN SIE DIE BEZIEHUNGEN »HAT EIN UND »IST
IMPLEMENTIERT IN FORM VON DURCH KOMPOSITION 216
IMAGE 3
INHALT
6.8 TIPP 39: SEIEN SIE BEI DER PRIVATEN VERERBUNG VORSICHTIG 219
6.9 TIPP 40: SEIEN SIE BEI DER MEHRFACHEN VERERBUNG VORSICHTIG 225
7 TEMPLATES UND GENERISCHE PROGRAMMIERUNG 233
7.1 TIPP 41: MACHEN SIE SICH MIT IMPLIZITEN SCHNITTSTELLEN UND
POLYMORPHISMUS ZUR KOMPILIERUNGSZEIT VERTRAUT 233
7.2 TIPP 42: LERNEN SIE DIE ZWEI BEDEUTUNGEN VON TYPENAME KENNEN 237 7.3
TIPP 43: LERNEN SIE DEN ZUGRIFF AUF NAMEN IN TEMPLATE-BASISKLASSEN 242
7.4 TIPP 44: ENTFERNEN SIE PARAMETERUNABHAENGIGEN CODE AUS TEMPLATES 247
7.5 TIPP 45: VERWENDEN SIE ELEMENTFUNKTIONS-TEMPLATES FUER
»ALLE KOMPATIBLEN TYPEN 253
7.6 TIPP 46: DEFINIEREN SIE BEI ERFORDERLICHEN TYPUMWANDLUNGEN
NICHTELEMENTFUNKTIONEN INNERHALB VON TEMPLATES 258 7.7 TIPP 47:
VERWENDEN SIE TRAITS-KLASSEN FUER INFORMATIONEN UEBER TYPEN 262 7.8 TIPP
48: BEACHTEN SIE DIE TEMPLATE-METAPROGRAMMIERUNG 269
8 ANPASSUNG VON NEW UND DELETE 277
8.1 TIPP 49: LERNEN SIE DAS VERHALTEN DES NEW-HANDLERS KENNEN 278 8.2
TIPP 50: ERKENNEN SIE, WANN ES SINNVOLL IST, NEW UND DELETE ZU ERSETZEN
286 8.3 TIPP 51: HALTEN SIE SICH BEIM SCHREIBEN VON NEW UND DELETE AN
DIE UEBLICHEN VEREINBARUNGEN 291
8.4 TIPP 52: VERWENDEN SIE BEI PLACEMENT-NEW AUCH PLACEMENT-DELETE 295
9 VERSCHIEDENES 303
9.1 TIPP 53: BEACHTEN SIE COMPILERWARNUNGEN 303
9.2 TIPP 54: MACHEN SIE SICH MIT DER STANDARDBIBLIOTHEK EINSCHLIESSLICH
TR1 VERTRAUT 304
9.3 TIPP 55: MACHEN SIE SICH MIT BOOST VERTRAUT 310
A WEITERFUEHRENDE LEKTUERE 315
B ZUORDNUNG DER TIPPS ZUR VORHERGEHENDEN AUSGABE 317
INDEX 319 |
any_adam_object | 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 | BV037342473 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)723367111 (DE-599)DNB1010116770 |
dewey-full | 005.133 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.133 |
dewey-search | 005.133 |
dewey-sort | 15.133 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 3. Aufl. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a2200000 c 4500</leader><controlfield tag="001">BV037342473</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20110926</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">110415s2011 gw ad|| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">11,N08</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1010116770</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783827330789</subfield><subfield code="c">: EUR 34.80 (DE), EUR 35.80 (AT), sfr 54.90 (freier Pr.)</subfield><subfield code="9">978-3-8273-3078-9</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783827330789</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)723367111</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1010116770</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="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-BY</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-1050</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-12</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-91G</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-863</subfield><subfield code="a">DE-634</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-862</subfield><subfield code="a">DE-1046</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-M347</subfield><subfield code="a">DE-B768</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</subfield><subfield code="2">22/ger</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="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. Aufl.</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">2011</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">326 S.</subfield><subfield code="b">Ill., 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">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=3672170&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB 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=022496157&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-022496157</subfield></datafield></record></collection> |
id | DE-604.BV037342473 |
illustrated | Illustrated |
indexdate | 2024-11-16T04:01:00Z |
institution | BVB |
isbn | 9783827330789 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-022496157 |
oclc_num | 723367111 |
open_access_boolean | |
owner | DE-1050 DE-523 DE-12 DE-11 DE-91G DE-BY-TUM DE-83 DE-Aug4 DE-863 DE-BY-FWS DE-634 DE-188 DE-862 DE-BY-FWS DE-1046 DE-19 DE-BY-UBM DE-M347 DE-B768 |
owner_facet | DE-1050 DE-523 DE-12 DE-11 DE-91G DE-BY-TUM DE-83 DE-Aug4 DE-863 DE-BY-FWS DE-634 DE-188 DE-862 DE-BY-FWS DE-1046 DE-19 DE-BY-UBM DE-M347 DE-B768 |
physical | 326 S. Ill., graph. Darst. |
publishDate | 2011 |
publishDateSearch | 2011 |
publishDateSort | 2011 |
publisher | Addison Wesley |
record_format | marc |
series2 | Programmer's Choice |
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_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_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://deposit.dnb.de/cgi-bin/dokserv?id=3672170&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=022496157&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT meyersscott effektivcprogrammieren55moglichkeitenihreprogrammeundentwurfezuverbessern |
Beschreibung
Würzburg Teilbibliothek SHL, Raum I.2.11
Signatur: |
1340 ST 250 C01 M613(3) |
---|---|
Exemplar 1 | nicht ausleihbar Verfügbar |
THWS Schweinfurt Zentralbibliothek Lesesaal
Signatur: |
2000 ST 250 C01 M613(3) |
---|---|
Exemplar 1 | ausleihbar Verfügbar Bestellen |