Effective C++: 55 specific ways to improve your programs and designs
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River, NJ ; Munich [u.a.]
Addison-Wesley
2008
|
Ausgabe: | 3. ed., 8. printing |
Schriftenreihe: | Addison-Wesley professional computing series
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XX, 297 S. graph. Darst. |
ISBN: | 0321334876 9780321334879 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV035633131 | ||
003 | DE-604 | ||
005 | 00000000000000.0 | ||
007 | t | ||
008 | 090717s2008 d||| |||| 00||| eng d | ||
020 | |a 0321334876 |9 0-321-33487-6 | ||
020 | |a 9780321334879 |9 978-0-321-33487-9 | ||
035 | |a (OCoLC)315862803 | ||
035 | |a (DE-599)BVBBV035633131 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-19 | ||
082 | 0 | |a 005.133 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
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 Effective C++ |b 55 specific ways to improve your programs and designs |c Scott Meyers |
250 | |a 3. ed., 8. printing | ||
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2008 | |
300 | |a XX, 297 S. |b graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a Addison-Wesley professional computing series | |
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 GBV Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017688029&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-017688029 |
Datensatz im Suchindex
_version_ | 1804139310097629184 |
---|---|
adam_text | EFFECTIVE C++ THIRD EDITION 55 SPECIFIC WAYS TO IMPROVE YOUR PROGRAMS
AND DESIGNS SCOTT MEYERS TT ADDISON-WESLEY UPPER SADDLE RIVER, NJ *
BOSTON * INDIANAPOLIS * SAN FRANCISCO NEW YORK * TORONTO * MONTREAL *
LONDON * MUNICH * PARIS * MADRID CAPETOWN * SYDNEY * TOKYO * SINGAPORE *
MEXICO CITY CONTENTS PREFACE XV ACKNOWLEDGMENTS XVUE INTRODUCTION L
CHAPTER 1: ACCUSTOMING YOURSELF TO C++ 11 ITEM 1: VIEW C++ AS A
FEDERATION OF LANGUAGES. 11 ITEM 2: PREFER CONSTS, ENUMS, AND INLINES TO
#DEFINES. 13 ITEM 3: USE CONST WHENEVER POSSIBLE. 17 ITEM 4: MAKE SURE
THAT OBJECTS ARE INITIALIZED BEFORE THEY RE USED. 26 CHAPTER 2:
CONSTRUCTORS, DESTRUCTORS, AND ASSIGNMENT OPERATORS 34 ITEM 5: KNOW WHAT
FUNCTIONS C++ SILENTLY WRITES AND CALLS. 34 ITEM 6: EXPLICITLY DISALLOW
THE USE OF COMPILER-GENERATED FUNCTIONS YOU DO NOT WANT. 37 ITEM 7:
DECLARE DESTRUCTORS VIRTUAL IN POLYMORPHIC BASE CLASSES. 40 ITEM 8:
PREVENT EXCEPTIONS FROM LEAVING DESTRUCTORS. 44 ITEM 9: NEVER CALL
VIRTUAL FUNCTIONS DURING CONSTRUCTION OR DESTRUCTION. 48 ITEM 10: HAVE
ASSIGNMENT OPERATORS RETURN A REFERENCE TO *THIS. 52 ITEM 11: HANDLE
ASSIGNMENT TO SELF IN OPERATOR=. 53 ITEM 12: COPY ALL PARTS OF AN
OBJECT. 57 CHAPTER 3: RESOURCE MANAGEMENT 61 ITEM 13: USE OBJECTS TO
MANAGE RESOURCES. 61 XII CONTENTS EFFECTIVE C++ ITEM 14: THINK CAREFULLY
ABOUT COPYING BEHAVIOR IN RESOURCE-MANAGING CLASSES. 66 ITEM 15: PROVIDE
ACCESS TO RAW RESOURCES IN RESOURCE-MANAGING CLASSES. 69 ITEM 16: USE
THE SAME FORM IN CORRESPONDING USES OF NEW AND DELETE. 73 ITEM 17: STORE
NEWED OBJECTS IN SMART POINTERS IN STANDALONE STATEMENTS. 75 CHAPTER 4:
DESIGNS AND DECLARATIONS 78 ITEM 18: MAKE INTERFACES EASY TO USE
CORRECTLY AND HARD TO USE INCORRECTLY. 78 ITEM 19: TREAT CLASS DESIGN AS
TYPE DESIGN. 84 ITEM 20: PREFER PASS-BY-REFERENCE-TO-CONST TO
PASS-BY-VALUE. 86 ITEM 21: DON T TRY TO RETURN A REFERENCE WHEN YOU MUST
RETURN AN OBJECT. 90 ITEM 22: DECLARE DATA MEMBERS PRIVATE. 94 ITEM 23:
PREFER NON-MEMBER NON-FRIEND FUNCTIONS TO MEMBER FUNCTIONS. 98 ITEM 24:
DECLARE NON-MEMBER FUNCTIONS WHEN TYPE CONVERSIONS SHOULD APPLY TO ALL
PARAMETERS. 102 ITEM 25: CONSIDER SUPPORT FOR A NON-THROWING SWAP. 106
CHAPTER 5: IMPLEMENTATIONS ** ITEM 26: POSTPONE VARIABLE DEFINITIONS AS
LONG AS POSSIBLE. 113 ITEM 27: MINIMIZE CASTING. 116 ITEM 28: AVOID
RETURNING HANDLES TO OBJECT INTERNALS. 123 ITEM 29: STRIVE FOR
EXCEPTION-SAFE CODE. 127 ITEM 30: UNDERSTAND THE INS AND OUTS OF
INLINING. 134 ITEM 31: MINIMIZE COMPILATION DEPENDENCIES BETWEEN FILES.
140 CHAPTER 6: INHERITANCE AND OBJECT-ORIENTED DESIGN 149 ITEM 32: MAKE
SURE PUBLIC INHERITANCE MODELS IS-A. 150 ITEM 33: AVOID HIDING
INHERITED NAMES. 156 ITEM 34: DIFFERENTIATE BETWEEN INHERITANCE OF
INTERFACE AND INHERITANCE OF IMPLEMENTATION. 161 ITEM 35: CONSIDER
ALTERNATIVES TO VIRTUAL FUNCTIONS. 169 ITEM 36: NEVER REDEFINE AN
INHERITED NON-VIRTUAL FUNCTION. 178 EFFECTIVE C++ CONTENTS XIII ITEM 37:
NEVER REDEFINE A FUNCTION S INHERITED DEFAULT PARAMETER VALUE. 180 ITEM
38: MODEL HAS-A OR IS-IMPLEMENTED-IN-TERMS-OF THROUGH COMPOSITION.
184 ITEM 39: USE PRIVATE INHERITANCE JUDICIOUSLY. 187 ITEM 40: USE
MULTIPLE INHERITANCE JUDICIOUSLY. 192 CHAPTER 7: TEMPLATES AND GENERIC
PROGRAMMING 199 ITEM 41: UNDERSTAND IMPLICIT INTERFACES AND COMPILE-TIME
POLYMORPHISM. 199 ITEM 42: UNDERSTAND THE TWO MEANINGS OF TYPENAME. 203
ITEM 43: KNOW HOW TO ACCESS NAMES IN TEMPLATIZED BASE CLASSES. 207 ITEM
44: FACTOR PARAMETER-INDEPENDENT CODE OUT OF TEMPLATES. 212 ITEM 45: USE
MEMBER FUNCTION TEMPLATES TO ACCEPT ALL COMPATIBLE TYPES. 218 ITEM 46:
DEFINE NON-MEMBER FUNCTIONS INSIDE TEMPLATES WHEN TYPE CONVERSIONS ARE
DESIRED. 222 ITEM 47: USE TRAITS CLASSES FOR INFORMATION ABOUT TYPES.
226 ITEM 48: BE AWARE OF TEMPLATE METAPROGRAMMING. 233 CHAPTER 8:
CUSTOMIZING NEW AND DELETE 239 ITEM 49: UNDERSTAND THE BEHAVIOR OF THE
NEW-HANDLER. 240 ITEM 50: UNDERSTAND WHEN IT MAKES SENSE TO REPLACE NEW
AND DELETE. 247 ITEM 51: ADHERE TO CONVENTION WHEN WRITING NEW AND
DELETE. 252 ITEM 52: WRITE PLACEMENT DELETE IF YOU WRITE PLACEMENT NEW.
256 CHAPTER 9: MISCELLANY 262 ITEM 53: PAY ATTENTION TO COMPILER
WARNINGS. 262 ITEM 54: FAMILIARIZE YOURSELF WITH THE STANDARD LIBRARY,
INCLUDING TRI. 263 ITEM 55: FAMILIARIZE YOURSELF WITH BOOST. 269
APPENDIX A: BEYOND EFFECTIVE C++ 273 APPENDIX B: ITEM MAPPINGS BETWEEN
SECOND AND THIRD EDITIONS 277 INDEX 280
|
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 | BV035633131 |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)315862803 (DE-599)BVBBV035633131 |
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. ed., 8. printing |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01400nam a2200373 c 4500</leader><controlfield tag="001">BV035633131</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">00000000000000.0</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">090717s2008 d||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321334876</subfield><subfield code="9">0-321-33487-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321334879</subfield><subfield code="9">978-0-321-33487-9</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)315862803</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV035633131</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-19</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.133</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">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">Effective C++</subfield><subfield code="b">55 specific ways to improve your programs and designs</subfield><subfield code="c">Scott Meyers</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. ed., 8. printing</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River, NJ ; Munich [u.a.]</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">2008</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XX, 297 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">Addison-Wesley professional computing series</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">GBV 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=017688029&sequence=000001&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-017688029</subfield></datafield></record></collection> |
id | DE-604.BV035633131 |
illustrated | Illustrated |
indexdate | 2024-07-09T21:42:03Z |
institution | BVB |
isbn | 0321334876 9780321334879 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-017688029 |
oclc_num | 315862803 |
open_access_boolean | |
owner | DE-19 DE-BY-UBM |
owner_facet | DE-19 DE-BY-UBM |
physical | XX, 297 S. graph. Darst. |
publishDate | 2008 |
publishDateSearch | 2008 |
publishDateSort | 2008 |
publisher | Addison-Wesley |
record_format | marc |
series2 | Addison-Wesley professional computing series |
spelling | Meyers, Scott 1959- Verfasser (DE-588)113101856 aut Effective C++ 55 specific ways to improve your programs and designs Scott Meyers 3. ed., 8. printing Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2008 XX, 297 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Addison-Wesley professional computing series C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s DE-604 GBV Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=017688029&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Meyers, Scott 1959- Effective C++ 55 specific ways to improve your programs and designs C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4193909-8 |
title | Effective C++ 55 specific ways to improve your programs and designs |
title_auth | Effective C++ 55 specific ways to improve your programs and designs |
title_exact_search | Effective C++ 55 specific ways to improve your programs and designs |
title_full | Effective C++ 55 specific ways to improve your programs and designs Scott Meyers |
title_fullStr | Effective C++ 55 specific ways to improve your programs and designs Scott Meyers |
title_full_unstemmed | Effective C++ 55 specific ways to improve your programs and designs Scott Meyers |
title_short | Effective C++ |
title_sort | effective c 55 specific ways to improve your programs and designs |
title_sub | 55 specific ways to improve your programs and designs |
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=017688029&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT meyersscott effectivec55specificwaystoimproveyourprogramsanddesigns |