Introducing C++ for scientists, engineers and mathematicians:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
London [u.a.]
Springer
2001
|
Ausgabe: | 2. ed. |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Früher u.d.T.: Capper, Derek M.: C++ for scientists, engineers and mathematicians |
Beschreibung: | XVI, 544 S. |
ISBN: | 1852334886 3540760423 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV013832370 | ||
003 | DE-604 | ||
005 | 20020121 | ||
007 | t | ||
008 | 010717s2001 gw |||| 00||| eng d | ||
016 | 7 | |a 961464445 |2 DE-101 | |
020 | |a 1852334886 |9 1-85233-488-6 | ||
020 | |a 3540760423 |9 3-540-76042-3 | ||
035 | |a (OCoLC)612049204 | ||
035 | |a (DE-599)BVBBV013832370 | ||
040 | |a DE-604 |b ger |e rakddb | ||
041 | 0 | |a eng | |
044 | |a gw |c DE | ||
049 | |a DE-703 |a DE-29T |a DE-859 |a DE-19 | ||
050 | 0 | |a QA76.73.C153 | |
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 260 |0 (DE-625)143632: |2 rvk | ||
100 | 1 | |a Capper, Derek M. |e Verfasser |4 aut | |
245 | 1 | 0 | |a Introducing C++ for scientists, engineers and mathematicians |c Derek Capper |
250 | |a 2. ed. | ||
264 | 1 | |a London [u.a.] |b Springer |c 2001 | |
300 | |a XVI, 544 S. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Früher u.d.T.: Capper, Derek M.: C++ for scientists, engineers and mathematicians | ||
650 | 4 | |a C++ (Langage de programmation) | |
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=009460788&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-009460788 |
Datensatz im Suchindex
_version_ | 1804128663824760832 |
---|---|
adam_text | Contents
Preface to the Second Edition xiii
Preface to the First Edition xiii
Structure of this Book xiv
Acknowledgements xvi
1 Introduction 1
1.1 Getting Started 1
1.2 Solving a Quadratic Equation 3
1.3 An Object oriented Example 4
1.4 Why Object oriented? (i
1.5 Summary 7
1.6 Exercises 7
2 The Lexical Basis of C++ 9
2.1 Characters and Tokens 9
2.2 Comments and White Space 10
2.3 Identifiers 11
2.4 Keywords 12
2.5 Constants 13
2.5.1 Integer Constants 13
2.5.2 Boolean Constants 14
2.5.3 Floating Point Constants 14
2.5.4 Character Constants 14
2.5.5 String Constants 15
2.6 Operators 16
2.7 Programming Style 16
2.8 Summary 17
2.9 Exercises 18
3 Fundamental Types and Basic Operators 19
3.1 Integral Data Types 20
3.1.1 Type int 20
3.1.2 Integer Multiplication 23
v
vi CONTENTS
3.1.3 Integer Division 23
3.1.4 Integer Modulus or Remainder Operator 23
3.1.5 Increment and Decrement Operators 25
3.1.6 Associativity and Precedence of Integer Operators 26
3.1.7 Long Integers 28
3.1.8 Short Integers 29
3.1.9 Unsigned Integers 29
3.1.10 Booleans 30
3.1.11 Character Types 31
3.2 Floating Point Data Types 32
3.2.1 Type double 32
3.2.2 Type float 34
3.2.3 Type long double 34
3.3 Changing Types 35
3.3.1 Type Promotion and Conversion 35
3.3.2 Casts 36
3.4 Some Basic Operations 36
3.4.1 The sizeof Operator 37
3.4.2 Initialization 38
3.4.3 Assignment Operators 39
3.5 const 40
3.6 typedef 41
3.7 Summary 42
3.8 Exercises 42
4 Control Structure 45
4.1 Relational Operators 45
4.2 Logical Operators 47
4.3 Equal and Not Equal Operators 48
4.4 Blocks and Scope 50
4.5 Branch Statements 52
4.5.1 if Statement 52
4.5.2 if else Statement 54
4.5.3 switch Statement 57
4.6 Iteration Statements 59
4.6.1 while Statement 60
4.6.2 for Statement 61
4.6.3 do Statement 64
4.7 break and continue Statements 66
4.8 goto Statement 67
4.9 Comma Operator 69
4.10 Null Statement 70
4.11 Conditional Expression Operator 71
4.12 Order of Evaluation of Operands 71
4.13 The Preprocessor 72
4.13.1 include Directive 72
4.13.2 define Directive 74
CONTENTS vii
4.13.3 Conditional Compilation 75
4.14 Enumerations 77
4.15 Summary 79
4.16 Exercises 81
5 Functions 85
5.1 Introducing Functions 85
5.1.1 Defining and Calling Functions 85
5.1.2 Return Type 88
5.1.3 Function Declarations 90
5.1.4 Functions Cannot Declare Functions 90
5.1.5 Unused Arguments 92
5.1.6 Default Arguments 93
5.1.7 Ignoring the Return Value 95
5.2 Recursion 95
5.3 Inline Functions 96
5.4 More on Scope Rules 97
5.5 Storage Class static 99
5.6 Overloading Function Names 101
5.6.1 Ambiguity Resolution 103
5.7 Function mainO 104
5.8 Standard Library 104
5.9 Using Functions 107
5.9.1 A Benchmark 107
5.9.2 Root Finding by Bisection 109
5.10 Summary 112
5.11 Exercises 114
6 Pointers and Arrays 119
6.1 Memory, Addressing and Pointers 119
6.1.1 Address of Operator 120
6.1.2 Dereferencing or Indirection Operator 120
6.1.3 Pointers 121
6.1.4 Pointers Do Not Declare Memory 125
6.1.5 Null Pointer 126
6.2 One dimensional Arrays 127
6.2.1 Pointers and One dimensional Arrays 129
6.3 Type void* 135
6.4 Pointer Conversions 135
6.5 Multi dimensional Arrays 136
6.5.1 Pointers and Multi dimensional Arrays 138
6.6 Initializing Arrays 140
6.7 Size of Arrays 141
6.8 Arrays of Pointers 142
6.9 Using Pointers and Arrays 144
6.9.1 Fitting Data to a Straight Line 145
6.9.2 Ragged Arrays 147
6.10 Summary 148
viii CONTENTS
6.11 Exercises 151
7 Further Pointer Techniques 153
7.1 Strings 153
7.2 Pointers as Function Arguments 157
7.3 Passing Arrays as Function Arguments 158
7.3.1 One dimensional Arrays 158
7.3.2 Multi dimensional Arrays 160
7.4 Arguments to mainO 163
7.5 Pointers to Functions 166
7.6 Dynamic Memory Management 171
7.6.1 Allocating Memory 172
7.6.2 Deallocating Memory 177
7.7 Pass by Reference and Reference Variables 179
7.7.1 Reference Arguments 179
7.7.2 Reference Return Values 182
7.7.3 Reference Variables 183
7.8 Using Pointers, Arrays and Strings 184
7.8.1 Matrix Addition 185
7.8.2 An Alphabetic Sort 189
7.9 Summary 193
7.10 Exercises 195
8 Classes 197
8.1 Declaring Classes 197
8.2 Class Access Specifiers 199
8.3 Accessing Members 199
8.4 Assigning Objects 201
8.5 Functions and Classes 202
8.6 Data Hiding 206
8.7 Returning an Object 209
8.8 Reference Arguments 211
8.9 Pointers to Members 211
8.10 Pointer to Member Operators 213
8.11 Scope and Data Protection 217
8.12 Static Members 219
8.12.1 Static Data Members 219
8.12.2 Static Member Functions 221
8.13 Constructor Functions 223
8.14 Accessing const Class Objects 229
8.15 Friend Functions 231
8.16 Program Structure and Style 233
8.16.1 Separate Compilation 233
8.16.2 Header Files 235
8.17 Using Classes 236
8.18 Summary 241
8.19 Exercises 244
CONTENTS ix
9 Operator Overloading 245
9.1 Introducing Overloaded Operators 245
9.1.1 Overloading the Assignment Operator 246
9.1.2 The this Pointer 247
9.1.3 Overloading the Addition Operator 249
9.1.4 Overloading the Unary Minus Operator 251
9.2 User defined Conversions 253
9.2.1 Conversion by Constructors 254
9.2.2 Conversion Functions 256
9.2.3 Implicit Conversions 260
9.3 Operator Function Calls 262
9.3.1 Binary Operators 263
9.3.2 Prefix Unary Operators 264
9.3.3 Postfix Unary Operators 267
9.4 Some Special Binary Operators 269
9.4.1 Overloading the Subscripting Operator 269
9.4.2 Overloading the Function Call Operator 271
9.5 Defining Overloaded Operators 273
9.6 Using Overloaded Operators 274
9.6.1 Complex Arithmetic 274
9.6.2 Strings 279
9.7 Summary 284
9.8 Exercises 286
10 Constructors and Destructors 287
10.1 More on Constructor Functions 288
10.1.1 Dynamic Memory Management 288
10.1.2 Assignment and Initialization 290
10.1.3 Member Objects with Constructors 292
10.2 Destructor Functions 293
10.3 Using Constructors and Destructors 295
10.3.1 Singly Linked Lists 295
10.3.2 Doubly Linked Lists 300
10.4 Summary 305
10.5 Exercises 305
11 Bitwise Operations 307
11.1 Bitwise Operators 307
11.1.1 Bitwise Complement 308
11.1.2 Bitwise AND 308
11.1.3 Bitwise Exclusive OR 308
11.1.4 Bitwise Inclusive OR 309
11.1.5 Shift Operators 309
11.1.6 Bitwise Assignment Operators 310
11.2 Bit fields 310
11.3 Unions 312
11.4 Using Bitwise Operators 315
11.4.1 A Bit Array Class 315
x CONTENTS
11.4.2 The Sieve of Eratosthenes 320
11.4.3 Bit Representation of Integral Types 323
11.4.4 Bit Representation of Floating Point Types 325
11.5 Summary 328
11.6 Exercises 329
12 Single Inheritance 331
12.1 Derived Classes 331
12.2 virtual Functions 336
12.3 Abstract Classes 340
12.4 Class Hierarchies 346
12.5 Constructors and Destructors 352
12.6 Member Access and Inheritance 355
12.6.1 Access Specifiers 355
12.6.2 Friendship and Derivation 357
12.7 Using Single Inheritance 358
12.7.1 A Bounds Checked Array Class 358
12.7.2 A Menu Class 363
12.8 Summary 371
12.9 Exercises 373
13 Multiple Inheritance 375
13.1 Derived Classes 375
13.2 Virtual Base Classes 381
13.3 Constructors and Destructors 385
13.4 Member Access Ambiguities 386
13.5 Using Multiple Inheritance 389
13.6 Summary 398
13.7 Exercises 399
14 Namespaces 401
14.1 Name Clashes 401
14.2 Creating a Namespace 403
14.3 Accessing Namespace Members 404
14.4 More on Creating Namespaces 405
14.5 Namespace Aliases 406
14.6 The using Directive 407
14.7 The using Declaration 409
14.8 The Standard Library 411
14.9 Unnamed Namespaces 412
14.10 Using Namespaces 413
14.11 Summary 417
14.12 Exercises 419
CONTENTS xi
15 Exception Handling 421
15.1 Errors 421
15.2 Introducing throw, try and catch 423
15.3 Throwing a Fundamental Type 426
15.4 Extracting Information from a catch 427
15.5 Catching Everything 430
15.6 Derived Error Classes 432
15.7 Exception Specifications 434
15.8 Uncaught Exceptions 436
15.9 Dynamic Memory Allocation 436
15.10 Using Exception Handling 438
15.11 Summary 444
15.12 Exercises 448
16 Templates 449
16.1 Function Templates 449
16.2 Class Templates 453
16.3 Static Members 456
16.4 Class Templates and Functions 457
16.5 Function Template Arguments 459
16.6 Template Parameters 459
16.7 Templates and Friends 460
16.8 Specialized Templates 462
16.9 Member Function Specialization 465
16.10 Program Structure 466
16.11 Using Templates 467
16.12 Summary 469
16.13 Exercises 471
17 Standard Library 473
17.1 Introduction 473
17.2 Library Categories 474
17.2.1 Language Support 475
17.2.2 Diagnostics 475
17.2.3 General Utilities 476
17.2.4 Strings 476
17.2.5 Localization 477
17.2.6 Containers 477
17.2.7 Iterators 478
17.2.8 Algorithms 478
17.2.9 Numerics 479
17.3 Using the Standard Library 479
17.3.1 Complex Arithmetic 479
17.3.2 Boolean Arrays 482
17.4 Summary 486
17.5 Exercises 486
xii CONTENTS
18 Input and Output 489
18.1 Introduction 489
18.2 Input and Output Classes 489
18.3 Output 492
18.3.1 Unformatted Output 493
18.4 Input 494
18.4.1 Unformatted Input 495
18.5 Flags, Manipulators and Formatting 500
18.6 File Input and Output 502
18.7 Assigning Streams 506
18.8 Stream Condition 507
18.9 User defined Types 509
18.10 Using Input and Output 510
18.11 Summary 514
18.12 Exercises 517
Appendix A The ASCII Character Codes 519
Appendix—B Operators 521
Appendix C Differences between C and C++ 525
Bibliography 529
Index 531
|
any_adam_object | 1 |
author | Capper, Derek M. |
author_facet | Capper, Derek M. |
author_role | aut |
author_sort | Capper, Derek M. |
author_variant | d m c dm dmc |
building | Verbundindex |
bvnumber | BV013832370 |
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 ST 260 |
ctrlnum | (OCoLC)612049204 (DE-599)BVBBV013832370 |
discipline | Informatik |
edition | 2. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01490nam a22004098c 4500</leader><controlfield tag="001">BV013832370</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20020121 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">010717s2001 gw |||| 00||| eng d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">961464445</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1852334886</subfield><subfield code="9">1-85233-488-6</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">3540760423</subfield><subfield code="9">3-540-76042-3</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)612049204</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV013832370</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">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-703</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-859</subfield><subfield code="a">DE-19</subfield></datafield><datafield tag="050" ind1=" " ind2="0"><subfield code="a">QA76.73.C153</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">ST 260</subfield><subfield code="0">(DE-625)143632:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Capper, Derek M.</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Introducing C++ for scientists, engineers and mathematicians</subfield><subfield code="c">Derek Capper</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">2. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">London [u.a.]</subfield><subfield code="b">Springer</subfield><subfield code="c">2001</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XVI, 544 S.</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="500" ind1=" " ind2=" "><subfield code="a">Früher u.d.T.: Capper, Derek M.: C++ for scientists, engineers and mathematicians</subfield></datafield><datafield tag="650" ind1=" " ind2="4"><subfield code="a">C++ (Langage de programmation)</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=009460788&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-009460788</subfield></datafield></record></collection> |
id | DE-604.BV013832370 |
illustrated | Not Illustrated |
indexdate | 2024-07-09T18:52:50Z |
institution | BVB |
isbn | 1852334886 3540760423 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-009460788 |
oclc_num | 612049204 |
open_access_boolean | |
owner | DE-703 DE-29T DE-859 DE-19 DE-BY-UBM |
owner_facet | DE-703 DE-29T DE-859 DE-19 DE-BY-UBM |
physical | XVI, 544 S. |
publishDate | 2001 |
publishDateSearch | 2001 |
publishDateSort | 2001 |
publisher | Springer |
record_format | marc |
spelling | Capper, Derek M. Verfasser aut Introducing C++ for scientists, engineers and mathematicians Derek Capper 2. ed. London [u.a.] Springer 2001 XVI, 544 S. txt rdacontent n rdamedia nc rdacarrier Früher u.d.T.: Capper, Derek M.: C++ for scientists, engineers and mathematicians C++ (Langage de programmation) 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=009460788&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Capper, Derek M. Introducing C++ for scientists, engineers and mathematicians C++ (Langage de programmation) C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4193909-8 |
title | Introducing C++ for scientists, engineers and mathematicians |
title_auth | Introducing C++ for scientists, engineers and mathematicians |
title_exact_search | Introducing C++ for scientists, engineers and mathematicians |
title_full | Introducing C++ for scientists, engineers and mathematicians Derek Capper |
title_fullStr | Introducing C++ for scientists, engineers and mathematicians Derek Capper |
title_full_unstemmed | Introducing C++ for scientists, engineers and mathematicians Derek Capper |
title_short | Introducing C++ for scientists, engineers and mathematicians |
title_sort | introducing c for scientists engineers and mathematicians |
topic | C++ (Langage de programmation) C++ (DE-588)4193909-8 gnd |
topic_facet | C++ (Langage de programmation) C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=009460788&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT capperderekm introducingcforscientistsengineersandmathematicians |