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
2010
|
Ausgabe: | 3. ed., 10. print. |
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 | BV036507036 | ||
003 | DE-604 | ||
005 | 20101102 | ||
007 | t | ||
008 | 100616s2010 d||| |||| 00||| eng d | ||
020 | |a 0321334876 |9 0-321-33487-6 | ||
020 | |a 9780321334879 |9 978-0-321-33487-9 | ||
035 | |a (OCoLC)657714990 | ||
035 | |a (DE-599)BVBBV036507036 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
049 | |a DE-739 |a DE-860 | ||
050 | 0 | |a QA76.73.C153 | |
082 | 0 | |a 005.13/3 22 | |
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., 10. print. | ||
264 | 1 | |a Upper Saddle River, NJ ; Munich [u.a.] |b Addison-Wesley |c 2010 | |
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 | 4 | |a C++ (Computer program language) | |
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 Digitalisierung UB Passau |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020429328&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-020429328 |
Datensatz im Suchindex
_version_ | 1804143073212497920 |
---|---|
adam_text | Contents
Preface
xv
Acknowledgments
xvii
Introduction l
Chapter
1:
Accustoming Yourself to
C++ 11
Itemi:
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
113
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
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 TR1.
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 | BV036507036 |
callnumber-first | Q - Science |
callnumber-label | QA76 |
callnumber-raw | QA76.73.C153 |
callnumber-search | QA76.73.C153 |
callnumber-sort | QA 276.73 C153 |
callnumber-subject | QA - Mathematics |
classification_rvk | ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)657714990 (DE-599)BVBBV036507036 |
dewey-full | 005.13/322 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13/3 22 |
dewey-search | 005.13/3 22 |
dewey-sort | 15.13 13 222 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | 3. ed., 10. print. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01496nam a2200397 c 4500</leader><controlfield tag="001">BV036507036</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20101102 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">100616s2010 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)657714990</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV036507036</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-739</subfield><subfield code="a">DE-860</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.C153</subfield></datafield><datafield tag="082" ind1="0" ind2=" "><subfield code="a">005.13/3 22</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., 10. print.</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">2010</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=" " ind2="4"><subfield code="a">C++ (Computer program language)</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">Digitalisierung UB Passau</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=020429328&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-020429328</subfield></datafield></record></collection> |
id | DE-604.BV036507036 |
illustrated | Illustrated |
indexdate | 2024-07-09T22:41:52Z |
institution | BVB |
isbn | 0321334876 9780321334879 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-020429328 |
oclc_num | 657714990 |
open_access_boolean | |
owner | DE-739 DE-860 |
owner_facet | DE-739 DE-860 |
physical | XX, 297 S. graph. Darst. |
publishDate | 2010 |
publishDateSearch | 2010 |
publishDateSort | 2010 |
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., 10. print. Upper Saddle River, NJ ; Munich [u.a.] Addison-Wesley 2010 XX, 297 S. graph. Darst. txt rdacontent n rdamedia nc rdacarrier Addison-Wesley professional computing series C++ (Computer program language) C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s DE-604 Digitalisierung UB Passau application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020429328&sequence=000002&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++ (Computer program language) 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++ (Computer program language) C++ (DE-588)4193909-8 gnd |
topic_facet | C++ (Computer program language) C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=020429328&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT meyersscott effectivec55specificwaystoimproveyourprogramsanddesigns |