Programming: principles and practice using C++
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Upper Saddle River
Addison-Wesley
[2014]
|
Ausgabe: | Second edition |
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | Auf dem Cover: "Using C++11 and C++14", "Bjarne Stroustrup, the creator of C++" |
Beschreibung: | xxxi, 1274 Seiten Illustrationen, Diagramme (farbig) |
ISBN: | 9780321992789 0321992784 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV041960234 | ||
003 | DE-604 | ||
005 | 20211012 | ||
007 | t | ||
008 | 140708s2014 xxua||| |||| 00||| eng d | ||
020 | |a 9780321992789 |c pbk |9 978-0-321-99278-9 | ||
020 | |a 0321992784 |c pbk |9 0-321-99278-4 | ||
035 | |a (OCoLC)891071091 | ||
035 | |a (DE-599)BVBBV041960234 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a eng | |
044 | |a xxu |c US | ||
049 | |a DE-91G |a DE-898 |a DE-B768 |a DE-83 |a DE-29T |a DE-573 |a DE-11 |a DE-Aug4 |a DE-739 | ||
050 | 0 | |a QA76.73.C153 | |
082 | 0 | |a 005.13/3 | |
084 | |a ST 230 |0 (DE-625)143617: |2 rvk | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a 68N15 |2 msc | ||
084 | |a DAT 358f |2 stub | ||
100 | 1 | |a Stroustrup, Bjarne |d 1950- |e Verfasser |0 (DE-588)118044710 |4 aut | |
245 | 1 | 0 | |a Programming |b principles and practice using C++ |c Bjarne Stroustrup |
250 | |a Second edition | ||
264 | 1 | |a Upper Saddle River |b Addison-Wesley |c [2014] | |
264 | 4 | |c © 2014 | |
300 | |a xxxi, 1274 Seiten |b Illustrationen, Diagramme (farbig) | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Auf dem Cover: "Using C++11 and C++14", "Bjarne Stroustrup, the creator of C++" | ||
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 - ADAM Catalogue Enrichment |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027403052&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-027403052 |
Datensatz im Suchindex
_version_ | 1804152345707151360 |
---|---|
adam_text | Contents Preface xxv Chapter 0 Notes to the Reader 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Chapter 1 1 The structure of this book 2 0.1.1 General approach 3 0.1.2 Diilis, exercises, etc. 4 0.1.3 What comes after this book? 5 A philosophy of teaching and learning б 0.2.1 The order of topics 9 0.2.2 Programming and programming language 0.2.3 Portability 11 Programming and computer science 12 Creativity and problem solving 12 Request for feedback 12 References 13 Biographies 13 Bjame Stroustrup 14 Lawrence “Pete” Petersen 15 Computers, People, and Programming 1.1 1.2 1.3 1.4 1.5 Introduction 18 Software 19 People 21 Computer science 24 Computers are everywhere 25 1.5.1 Screens and no screens 26 1.5.2 Shipping 26 1.5.3 Telecommunications 28 1.5.4 Medicine 30 17 10
vi CONTENTS 1.6 Part 1 The Basics Chapter 2 43 Programs 44 The classic first program 45 Compilation 47 Linking 51 Programming environments 52 Objects, Types, and Values 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Chapter 4 41 Hello, World! 2.1 2.2 2.3 2.4 2.5 Chapter 3 1.5.5 Information 31 1.5.6 A vertical view 33 So what? 34 1.5.7 Ideals for programmers Í Input 60 Variables 62 Input and type 64 Operations and operators 66 Assignment and initialization 69 3.5.1 An example: detect repeated words 71 Composite assignment operators 73 3.6.1 An example: find repeated words 73 Names 74 Types and objects 77 Type safety 78 3.9.1 Safe conversions 79 3.9.2 Unsafe conversions 80 Computation 4.1 4.2 4.3 4.4 4.5 59 89 Computation 90 Objectives and tools 92 Expressions 94 4.3.1 Constant expressions 95 4.3.2 Operators 97 4.3.3 Conversions 99 Statements 100 4.4.1 Selection 102 4.4.2 Iteration 109 Functions 113 4.5.1 Why bother with fimetions? 4.5.2 Function declarations 117 115
CONTENTS vii 4.6 4.7 Chapter 5 Errors 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 5.11 Chapter 6 117 4.6.1 Traversing a vecto r 119 4.6.2 Growing a vector 119 4.6.3 A numeric example 120 A text example 123 4.6.4 Language features 125 vector 133 Introduction 134 Sources of errors 136 Compile-time errors 136 5.3.1 Syntax errors 137 5.3.2 Type errors 138 5.3.3 Non-errors 139 Link-time errors 139 Run-time errors 140 5.5.1 The caller deals with errors 5.5.2 The callee deals with errors 5.5.3 Error reporting 145 Exceptions 146 5.6.1 Bad arguments 147 5.6.2 Range errors 148 5.6.3 Bad input 150 5.6.4 Narrowing errors 153 Logic errors 154 Estimation 157 Debugging 158 5.9.1 Practical debug advice 159 Pre- and post-conditions 163 5.10.1 Post-conditions 165 Testing 166 Writing a Program 6.1 6.2 6.3 173 A problem 174 Thinking about the problem 175 6.2.1 Stages of development 176 6.2.2 Strategy 176 Back to the calculator! 178 6.3.1 First attempt 179 6.3.2 Tokens 181 Implementing tokens 183 6.3.3 6.3.4 Using tokens 185 6.3.5 Back to the drawing board
CONTENTS vm 6.4 6.5 6.6 6.7 6.8 6.9 Chapter 7 Completing a Program 7.1 7.2 7.3 7.4 7.5 76 77 7.8 Chapter 8 Grammars 188 6.4.1 A detour: English grammar 193 6.4.2 Writing a grammar 194 Turning a grammar into code 195 6.5.1 Implementing grammar rules 196 6.5.2 Expressions 197 6.5.3 Terms 200 6.5.4 Primary expressions 202 Trying the first version 203 Trying the second version 208 Token streams 209 6.8.1 Implementing Token_stream 211 6.8.2 Reading tokens 212 6.8.3 Reading numbers 214 Program structure 215 221 Introduction 222 Input and output 222 Error handling 224 Negative numbers 229 Remainder: % 230 Cleaning up the code 232 7.6.1 Symbolic constants 232 7.6.2 Use of functions 234 7.6.3 Code layout 235 7.6.4 Commenting 237 Recovering from errors 239 Variables 242 7.8.1 Variables and definitions 242 7.8.2 Introducing names 247 7.8.3 Predefined names 250 7.8.4 Are we there yet? 250 Technicalities: Functions, etc. 8.1 8.2 255 Technicalities 256 Declarations and definitions 257 8.2.1 Kinds of declarations 261 8.2.2 Variable and constant declarations 262 8.2.3 Default inkialization 263
ix CONTENTS 8.3 8.4 8.5 Header ffles 264 Scope 266 Function call and return 272 8.5.1 8.5.2 8.5.3 8.5.4 8.5.5 8.5.6 8.5.7 8.5.8 8.5.9 8.6 Order of évaluation 8.6.1 8.6.2 8.7 291 Expression evaluation 292 Global initialization 293 Namespaces 8.7.1 Chapter 9 Declaring arguments and return type 272 Returning a value 274 Pass-by-value 275 Pass-by-const-reference 276 Pass-by-reference 279 Pass-by-value vs. pass-by-reference 281 Argument checking and conversion 284 Function call implementation 285 constexpr functions 290 294 using declarations and using directives Technicalities: Classes, etc. 9.1 9.2 9.3 9.4 318 “Plain” enumerations 320 Operator overloading Class interfaces 323 9.7.1 9.7.2 9.7.3 9.7.4 9.7.5 9.8 struct and functions 308 Member functions and constructors 310 Keep details private 312 Defining member functions 314 Referring to the current object 317 Reporting errors 317 Enumerations 9.5.1 9.6 9.7 303 User-defined types 304 Classes and members 305 Interface and implementation 306 Evolving a class 308 9.4.1 9.4.2 9.4.3 9.4.4 9.4.5 9.4.6 9.5 296 321 Argument types 324 Copying 326 Default constructors 327 const member functions 330 Members and “helper functions” The Date class 334 332
CONTENTS Part II Input and Output Chapter 10 343 Input and Output Streams 345 10.1 Input and output 346 10.2 The I/O stream model 347 10.3 Files 349 10.4 Opening a file 350 10.5 Reading and writing a file 352 10.6 I/O error handling 354 10.7 Reading a single value 358 10.7.1 10.7.2 10.8 10.9 10.10 10.11 Breaking the problem into manageable parts Separating dialog from function 362 User-defined output operators 363 User-defined input operators 365 A standard input loop 365 Reading a structured file 367 10.11.1 In-memory representation 368 10.11.2 Reading structured values 370 10.11.3 Changing representations 374 Chapter 11 Customizing Input and Output 379 11.1 Regularity and irregularity 380 11.2 Output formatting 380 11.2.1 11.2.2 11.2.3 11.2.4 11.2.5 Integer output 381 Integer input 3 83 Floating-point output Precision 385 Fields 387 384 11.3 File opening and positioning 388 11.3.1 11.3.2 11.3.3 11.4 11.5 11.6 11.7 11.8 Chapter 12 File open modes 388 Binary files 390 Positioning in files 393 String streams 394 Line-oriented input 395 Character classification 396 Using nonstandard separators 398 And there is so much more 406 A Display Model 411 12.1 Why graphics? 412 12.2 A display model 413 12.3 A first example 414 359
CONTENTS 12.4 12.5 12.6 12.7 Using a GUI library 418 Coordinates 419 Shapes 420 Using Shape primitives 421 12.7.1 12.7.2 Graphics headers and main 421 An almost blank window 422 12.7.3 12.74 12.7.5 12.76 Axis 424 Graphing a function 12.77 Fill 12.7.8 12.7.9 Text 431 Images 433 431 12.7.10 And much more 12.8 Chapter 13 Getting this to run 435 12.8.1 437 Source files 434 Graphics Classes 441 13.1 13.2 13.3 13.4 13.5 13.6 13.7 13.8 13.9 13.10 13.11 13.12 13.13 13.14 13.15 13.16 13.17 Chapter 14 426 Polygons 427 Rectangles 428 Overview of graphics classes 442 Point and Line 444 Lines 447 Color 450 Line_style 452 Open_polyiine 455 Closed_polyline 456 Polygon 458 Rectangle 460 Managing unnamed objects 465 Text 467 Circle 470 Ellipse 472 Marked_polyline 474 Marks 476 Mark 478 Images 479 Graphics Class Design 14.1 Design principles 14.1.1 14.1.2 14.1.3 14.1.4 487 488 Types 488 Operations 490 Naming 491 Mutability 492
CONTENTS xii 14.2 14.3 Shape 493 14.2.1 14.2.2 14.2.3 14.2.4 An abstract class 495 Access control 496 Drawing shapes 500 Copying and mutability 503 Base and derived classes 14.3.1 14.3.2 14.3.3 14.3.4 14.3.5 504 Object layout 506 Deriving classes and defining virtual functions Overriding 508 Access 511 Pure virtual functions 512 14.4 Benefits of object-oriented programming Chapter 15 513 Graphing Functions and Data 519 15.1 Introduction 520 15.2 Graphing simple functions 520 15.3 Function 524 15.3.1 15.3.2 15.3.3 Default Arguments 525 More examples 527 Lambda expressions 528 15.4 Axis 529 15.5 Approximation 532 15.6 Graphing data 537 15.6.1 15.6.2 15.6.3 15.6.4 Chapter 16 Reading a file 539 General layout 541 Scaling data 542 Building the graph 543 Graphical User Interfaces 551 16.1 User interface alternatives 552 16.2 The “Next” button 553 16.3 A simple window 554 16.3.1 16.3.2 16.3.3 16.4 A callback fimction 556 A wait loop 559 A lambda expression as a callback 560 Button and other Widgets 16.4.1 16.4.2 16.4.3 16.4.4 Widgets 561 Buttons 563 ln_box and Outjbox Menus 564 16.5 An example 565 561 563 507
xiii CONTENTS 16.6 Control inversion 569 16.7 Adding a menu 570 16.8 Debugging GUI code 575 Part III Data and Algorithms Chapter 17 581 Vector and Free Store 17.1 17.2 17.3 Introduction 584 vector basics 586 Memory, addresses, and pointers 17.3.1 17.4 17.6 17.7 17.8 17.9 601 Generated destructors 603 Destructors and free store 604 Access to elements 605 Pointers to class objects 606 Messing with types: void* and casts Pointers and references 610 17.9.1 17.9.2 17.9.3 17.9.4 17.9.5 618 17.10.1 More link use Vectors and Arrays 620 627 18.1 Introduction 628 18.2 Initialization 629 18.3 Copying 631 18.3.1 18.3.2 18.3.3 18.3.4 608 Pointer and reference parameters 611 Pointers, references, and inheritance 612 An example: lists 613 List operations 615 List use 616 17.10 The this pointer Chapter 18 591 Free-store allocation 593 Access through pointers 594 Ranges 595 Initialization 596 The null pointer 598 Free-store deallocation 598 Destructors 17.5.1 17.5.2 588 The sizeof operator 590 Free store and pointers 17.4.1 17.4.2 17.4.3 17.4.4 17.4.5 17.4.6 17.5 583 Copy constructors 633 Copy assignments 634 Copy terminology 636 Moving 637
xiv CONTENTS 18.4 Essendal operations 18.4.1 18.4.2 640 Explicit constructors 642 Debugging constructors and destructors 18.5 Access to vector elements 18.5.1 18.6 Arrays 18.6.1 18.6.2 18.6.3 18.6.4 643 646 Overloading on const 647 648 Pointers to array elements Pointers and arrays 652 Array initialization 654 Pointer problems 656 650 18.7 Examples: palindrome 659 18.7.1 18.7.2 18.7.3 Chapter 19 Palindromes using string 659 Palindromes using arrays 660 Palindromes using pointers 661 Vector, Templates, and Exceptions 19.1 The problems 19.2 Changing size 19.2.1 19.2.2 19.2.3 19.2.4 19.2.5 19.2.6 668 671 Representation 671 reserve and capacity 673 resize 674 push_back 674 Assignment 675 Our vector so far 677 19.3 Templates 19.3.1 19.3.2 19.3.3 19.3.4 19.3.5 19.3.6 19.3.7 678 Types as template parameters 679 Generic programming 681 Concepts 683 Containers and inheritance 686 Integers as template parameters 687 Template argument deduction 689 Generalizing vector 690 19.4 Range checking and exceptions 19.4.1 19.4.2 693 An aside: design considerations A confession: macros 696 19.5 Resources and exceptions 19.5.1 19.5.2 19.5.3 19.5.4 19.5.5 19.5.6 667 694 697 Potential resource management problems 698 Resource acquisition is initialization 700 Guarantees 701 unique_ptr 703 Return by moving 704 RAII for vector 705
xv CONTENTS Chapter 20 Containers and Iterators 20.1 Storing and processing data 20.1.1 20.1.2 20.2 20.3 20.5 List operations Iteration 727 726 Container traversal auto 732 729 732 An example: a simple text editor 20.6.1 20.6.2 20.7 723 724 Generalizing vector yet again 20.5.1 20.5.2 20.6 720 Back to the example Linked lists 20.4.1 20.4.2 712 Working with data 713 Generalizing code 714 STL ideals 717 Sequences and iterators 20.3.1 20.4 711 734 Lines 736 Iteration 737 vector, list, and string 741 20.7.1 742 insert and erase 20.8 Adapting our vector to the STL 745 20.9 Adapting built-in arrays to the STL 747 20.10 Container overview 749 20.10.1 Iterator categories Chapter 21 Algorithms and Maps 21.1 21.2 751 757 Standard library algorithms 758 The simplest algorithm: find() 759 21.2.1 Some generic uses 761 21.3 The general search: findjf() 21.4 Funcdon objects 765 21.4.1 21.4.2 21.4.3 21.5 An abstract view of function objects Predicates on class members 767 Lambda expressions 769 Numerical algorithms 21.5.1 21.5.2 21.5.3 21.5.4 770 Accumulate 770 Generalizing accumulateO 772 Inner product 774 Generalizing inner_product() 775 21.6 Associative containers 21.6.1 21.6.2 21.6.3 21.6.4 21.6.5 763 776 map 776 map overview 779 Another map example unordered_map 785 set 787 782 766
CONTENTS xvi 21.7 21.8 21.9 Copying 789 21.7.1 Copy 789 21.7.2 Stream iterators 790 21.7.3 Using a set to keep order 21.7.4 copyjf 794 Sorting and searching 794 Container algorithms 797 Part IV Broadening the View Chapter 22 793 803 Ideals and History 805 22.1 History, ideals, and professionalism 806 22.1.1 Programming language aims and philosophies 22.1.2 Programming ideals 808 22.1.3 Styles/paradigms 815 22.2 Programming language history overview 818 22.2.1 The earliest languages 819 22.2.2 The roots of modem languages 821 22.2.3 The Algol family 826 22.2.4 Simula 833 22.2.5 C 836 22.2.6 C++ 839 22.2.7 Today 842 22.2.8 Information sources 844 Chapter 23 Text Manipulation 849 23.1 Text 850 23.2 Strings 850 23.3 I/O streams 855 23.4 Maps 855 23.4.1 Implementation details 861 23.5 A problem 864 23.6 The idea of regular expressions 866 23.6.1 Raw string literals 868 23.7 Searching with regular expressions 869 23.8 Regular expression syntax 872 23.8.1 Characters and special characters 872 23.8.2 Character classes 873 23.8.3 Repeats 874 23.8.4 Grouping 876 23.8.5 Alternation 876 23.8.6 Character sets and ranges 877 23.8.7 Regular expression errors 878 807
CONTENTS 23.9 Matching with regular expressions 23.10 References 885 Chapter 24 Numerics 24.1 24.2 24.3 24.4 24.5 24.6 24.7 24.8 24.9 24.10 Chapter 25 889 Introduction 890 Size, precision, and overflow 890 24.2.1 Numeric limits 894 Arrays 895 C-style multidimensional arrays 896 The Matrix library 897 24.5.1 Dimensions and access 898 24.5.2 ID Matrix 901 24.5.3 2D Matrix 904 24.5.4 Matrix I/O 907 24.5.5 3D Matrix 907 An example: solving linear equations 908 24.6.1 Classical Gaussian elimination 910 24.6.2 Pivoting 911 24.6.3 Testing 912 Random numbers 914 The standard mathematical fhnctions 917 Complex numbers 919 References 920 Embedded Systems Programming 25.1 25.2 880 925 Embedded systems 926 Basic concepts 929 25.2.1 Predictability 932 25.2.2 Ideals 932 25.2.3 Living with failure 933 25.3 Memory management 935 25.3.1 Free-store problems 936 25.3.2 Alternadves to the general free store 939 25.3.3 Pool example 940 25.3.4 Stack example 942 25.4 Addresses, pointers, and arrays 943 25.4.1 Unchecked conversions 943 25.4.2 A problem: dysfrinctional interfaces 944 25.4.3 A solution: an interface class 947 25.4.4 Inheritance and containers 951 25.5 Bits, bytes, and words 954 25.5.1 Bits and bit operations 955 25.5.2 bitset 959
CONTENTS xviii 25.5.3 Signed and unsigned 961 25.5.4 Bit manipulation 965 25.5.5 Bitfields 967 25.5.6 An example: simple encryption 969 25.6 Coding standards 974 25.6.1 What should a coding standard be? 975 25.6.2 Sample rules 977 25.6.3 Real coding standards 983 Chapter 26 Testing 989 26.1 What we want 990 26.1.1 Caveat 991 26.2 Proofs 992 26.3 Testing 992 26.3.1 Regression tests 993 26.3.2 Unit tests 994 26.3.3 Algorithms and non-algorithms 1001 26.3.4 System tests 1009 26.3.5 Finding assumptions that do not hold 1009 26.4 Design for testing 1011 26.5 Debugging 1012 26.6 Performance 1012 26.6.1 Timing 1015 26.7 References 1016 Chapter 27 The C Programming Language 27.1 27.2 27.3 1021 C and C++: siblings 1022 27.1.1 C/C++ compatibility 1024 27.1.2 C++ features missing from C 1025 27.1.3 The C standard library 1027 Functions 1028 27.2.1 No function name overloading 1028 27.2.2 Function argument type checking 1029 27.2.3 Function definitions 1031 27.2.4 Calling C from C++ and C++ from C 1032 27.2.5 Pointers to fimctions 1034 Minor language differences 1036 27.3.1 struct tag namespace 1036 27.3.2 Keywords 1037 27.3.3 Definitions 1038 27.3.4 C-style casts 1040
CONTENTS xix 27.4 27.5 27.6 27.7 278 279 27.3.5 Conversion of void* 1041 27.3.6 enum 1042 27.3.7 Namespaces 1042 Free store 1043 C-style strings 1045 27.5.1 C-style strings and const 1047 27.5.2 Byte operations 1048 27.5.3 An example: strcpyO 1049 27.5.4 A style issue 1049 Input/output: stdio 1050 27.6.1 Output 1050 27.6.2 Input 1052 27.6.3 Files 1053 Constants and macros 1054 Macros 1055 27.8.1 Funcdon-like macros 1056 27.8.2 Syntax macros 1058 27.8.3 Conditional compilation 1058 An example: intrusive containers 1059 PartV Appendices 1071 Appendix A Language Summary A.l A.2 A.3 A.4 1073 General 1074 A. 1.1 Terminology 1075 A. 1.2 Program start and termination 1075 A.1.3 Comments 1076 Literals 1077 A.2.1 Integer literals 1077 A.2.2 Floating-point-literals 1079 A.2.3 Boolean literals 1079 A.2.4 Character literals 1079 A.2.5 String literals 1080 A.2.6 The pointer literal 1081 Identifiers 1081 A.3.1 Keywords 1081 Scope, storage class, and lifetime 1082 A.4.1 Scope 1082 A.4.2 Storage class 1083 A.4.3 Lifetime 1085 і
CONTENTS XX A.5 A.6 A.7 A.8 A.9 A.10 A. 11 A.12 A. 13 A. 14 A. 15 A.16 A. 17 Expressions 1086 A.5.1 User-defined operators 1091 A.5.2 Implicit type conversion 1091 A.5.3 Constant expressions 1093 A.5.4 sizeof 1093 A.5.5 Logical expressions 1094 A.5.6 new and delete 1094 A.5.7 Casts 1095 Statements 1096 Declarations 1098 A.7.1 Definitions 1098 Built-in types 1099 A.8.1 Pointers 1100 A.8.2 Arrays 1101 A.8.3 References 1102 Functions 1103 A.9.1 Overload resolution 1104 A.9.2 Default arguments 1105 A.9.3 Unspecified arguments 1105 A.9.4 Linkage specifications 1106 User-defined types 1106 A. 10.1 Operator overloading 1107 Enumerations 1107 Classes 1108 A.12.1 Member access 1108 A.12.2 Class member definitions 1112 A.12.3 Construction, destruction, and copy A.12.4 Derived classes 1116 A. 12.5 Bitfields 1120 A. 12.6 Unions 1121 Templates 1121 A.13.1 Template arguments 1122 A. 13.2 Template instantiation 1123 A.13.3 Template member types 1124 Exceptions 1125 Namespaces 1127 Aliases 1128 Preprocessor directives 1128 A.17.1 #include 1128 A. 17.2 #define 1129 1112
xxi CONTENTS Appendix В Standard Library Summary 1131 B.l B.2 B.3 B.4 B.5 B.6 B.7 Overview 1132 Header files 1133 B.1.1 Namespace std 1136 B.1.2 Description style 1136 B.1.3 Error handling 1137 Exceptions 1138 B.2.1 Iterators 1139 Iterator model 1140 B.3.1 Iterator categories 1142 B.3.2 Containers 1144 B.4.1 Overview 1146 Memb er types 1147 B.4.2 Constructors, destructors, and assignments B.4.3 B.4.4 Iterators 1148 Element access 1149 B.4.5 Stack and queue operations 1149 B.4.6 List operations 1150 B.4.7 Size and capacity 1150 B.4.8 Other operations 1151 B.4.9 B.4.10 Associative container operations 1151 Algorithms 1152 Nonmodifying sequence algorithms 1153 B.5.1 Modifying sequence algorithms 1154 B.5.2 Utility algorithms 1156 B.5.3 Sorting and searching 1157 B.5.4 Set algorithms 1159 B.5.5 B.5.6 Heaps 1160 Permutations 1160 B.5.7 min and max 1161 B.5.8 STL utilities 1162 B.6.1 Inserters 1162 B.6.2 Function objects 1163 pair and tuple 1165 B.6.3 initializerjist 1166 B.6.4 Resource management pointers 1167 B.6.5 I/O streams 1168 B.7.1 I/O streams hierarchy 1170 B.7.2 Error handling 1171 Input operations 1172 B.7.3
CONTENTS xxii B.7.4 Output operations 1173 В. 7.5 Formatting 1173 В.7.6 Standard manipulators 1173 B.8 String manipulation 1175 B.8.1 Character classification 1175 B.8.2 String 1176 B.8.3 Regular expression matching 1177 B.9 Numerics 1180 B.9.1 Numerical limits 1180 B.9.2 Standard mathematical functions 1181 B.9.3 Complex 1182 B.9.4 valarray 1183 B.9.5 Generalized numerical algorithms 1183 B.9.6 Random numbers 1184 B.IO Time 1185 B.ll C standard library functions 1185 B.ll.l Files 1186 B.11.2 The printfO family 1186 B.11.3 C-style strings 1191 B.ll.4 Memory 1192 B.11.5 Date and time 1193 B.11.6 Etc. 1194 B.12 Other libraries 1195 Appendix C Getting Started with Visual Studio C.l G.2 C.3 G.4 Getting a program to run 1198 Installing Visual Studio 1198 Creating and running a program 1199 C .3.1 Create a new proj ect 1199 C.3.2 Use the stdjib_facilities.h header file 1199 C.3.3 Add a C++ source file to the project 1200 C.3.4 Enter your source code 1200 C.3.5 Build an executable program 1200 C.3.6 Execute the program 1201 C.3.7 Save the program 1201 Later 1201 Appendix D Installing FLTK D.l D.2 D.3 D.4 D.5 1197 1203 Introduction 1204 Downloading FLTK 1204 Installing FLTK 1205 Using FLTK in Visual Studio Testing if it afi worked 1206 1205
xxiii CONTENTS Appendix E GUI E.l E.2 E.3 E.4 E.5 Glossary 1217 Bibliography Index Implementation 1207 Callback implementation 1208 Widget implementation 1209 Window implementation 1210 Vector_ref 1212 An example: manipulating Widgets 1227 І 223 1213
|
any_adam_object | 1 |
author | Stroustrup, Bjarne 1950- |
author_GND | (DE-588)118044710 |
author_facet | Stroustrup, Bjarne 1950- |
author_role | aut |
author_sort | Stroustrup, Bjarne 1950- |
author_variant | b s bs |
building | Verbundindex |
bvnumber | BV041960234 |
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 230 ST 250 |
classification_tum | DAT 358f |
ctrlnum | (OCoLC)891071091 (DE-599)BVBBV041960234 |
dewey-full | 005.13/3 |
dewey-hundreds | 000 - Computer science, information, general works |
dewey-ones | 005 - Computer programming, programs, data, security |
dewey-raw | 005.13/3 |
dewey-search | 005.13/3 |
dewey-sort | 15.13 13 |
dewey-tens | 000 - Computer science, information, general works |
discipline | Informatik |
edition | Second edition |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>01734nam a2200445 c 4500</leader><controlfield tag="001">BV041960234</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20211012 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">140708s2014 xxua||| |||| 00||| eng d</controlfield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9780321992789</subfield><subfield code="c">pbk</subfield><subfield code="9">978-0-321-99278-9</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">0321992784</subfield><subfield code="c">pbk</subfield><subfield code="9">0-321-99278-4</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)891071091</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV041960234</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">xxu</subfield><subfield code="c">US</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-91G</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-B768</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-29T</subfield><subfield code="a">DE-573</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-739</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</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 230</subfield><subfield code="0">(DE-625)143617:</subfield><subfield code="2">rvk</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">68N15</subfield><subfield code="2">msc</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">Stroustrup, Bjarne</subfield><subfield code="d">1950-</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)118044710</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Programming</subfield><subfield code="b">principles and practice using C++</subfield><subfield code="c">Bjarne Stroustrup</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">Second edition</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Upper Saddle River</subfield><subfield code="b">Addison-Wesley</subfield><subfield code="c">[2014]</subfield></datafield><datafield tag="264" ind1=" " ind2="4"><subfield code="c">© 2014</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">xxxi, 1274 Seiten</subfield><subfield code="b">Illustrationen, Diagramme (farbig)</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">Auf dem Cover: "Using C++11 and C++14", "Bjarne Stroustrup, the creator of C++"</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 - ADAM Catalogue Enrichment</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=027403052&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-027403052</subfield></datafield></record></collection> |
id | DE-604.BV041960234 |
illustrated | Illustrated |
indexdate | 2024-07-10T01:09:14Z |
institution | BVB |
isbn | 9780321992789 0321992784 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-027403052 |
oclc_num | 891071091 |
open_access_boolean | |
owner | DE-91G DE-BY-TUM DE-898 DE-BY-UBR DE-B768 DE-83 DE-29T DE-573 DE-11 DE-Aug4 DE-739 |
owner_facet | DE-91G DE-BY-TUM DE-898 DE-BY-UBR DE-B768 DE-83 DE-29T DE-573 DE-11 DE-Aug4 DE-739 |
physical | xxxi, 1274 Seiten Illustrationen, Diagramme (farbig) |
publishDate | 2014 |
publishDateSearch | 2014 |
publishDateSort | 2014 |
publisher | Addison-Wesley |
record_format | marc |
spelling | Stroustrup, Bjarne 1950- Verfasser (DE-588)118044710 aut Programming principles and practice using C++ Bjarne Stroustrup Second edition Upper Saddle River Addison-Wesley [2014] © 2014 xxxi, 1274 Seiten Illustrationen, Diagramme (farbig) txt rdacontent n rdamedia nc rdacarrier Auf dem Cover: "Using C++11 and C++14", "Bjarne Stroustrup, the creator of C++" C++ (Computer program language) C++ (DE-588)4193909-8 gnd rswk-swf C++ (DE-588)4193909-8 s DE-604 Digitalisierung UB Passau - ADAM Catalogue Enrichment application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=027403052&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis |
spellingShingle | Stroustrup, Bjarne 1950- Programming principles and practice using C++ C++ (Computer program language) C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4193909-8 |
title | Programming principles and practice using C++ |
title_auth | Programming principles and practice using C++ |
title_exact_search | Programming principles and practice using C++ |
title_full | Programming principles and practice using C++ Bjarne Stroustrup |
title_fullStr | Programming principles and practice using C++ Bjarne Stroustrup |
title_full_unstemmed | Programming principles and practice using C++ Bjarne Stroustrup |
title_short | Programming |
title_sort | programming principles and practice using c |
title_sub | principles and practice using C++ |
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=027403052&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT stroustrupbjarne programmingprinciplesandpracticeusingc |