چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

زبان برنامه‌نویسی C++ (ویرایش سوم)

C++ Programming Language, The (3rd Edition)

Bjarne Stroustrup

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

نویسنده
Bjarne Stroustrup
سال انتشار
۱۹۹۷
فرمت
PDF
زبان
انگلیسی
حجم فایل
۶٫۱ مگابایت
شابک
9780201700732، 9780201889543، 9785794000313، 9785798901272، 0201700735، 0201889544، 5794000317، 5798901270

دربارهٔ کتاب

More than 500,000 programmers have benefited from previous editions! This is a complete rewrite of the most widely read and most trusted book on C++. Based on the ANSI/ISO C++ final draft, this book covers the C++ language, its standard library, and key design techniques as an integrated whole. The C++ Programming Language provides comprehensive coverage of C++ language features and standard library components. For example, it includes complete coverage of abstract classes as interfaces, class hierarchies for object-oriented programming, templates as the basis for type-safe generic software, exceptions for regular error handling, namespaces for modularity in large-scale software, run-time type identification for loosely coupled systems, the C subset of C++ for C compatibility and system-level work, standard containers and algorithms, and standard strings, I/O streams, and numerics. With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable. A web page to support the book can be found at http://www.awl.com/cp/stroustrup3e The C++ Programming Language (Special 3rd Edition)......Page 1 Title......Page 2 Copyright......Page 3 Contents......Page 4 Preface......Page 6 Preface to the Second Edition......Page 8 Preface to the First Edition......Page 10 Part 0: Introduction......Page 12 1.1 The Structure of This Book......Page 14 1.2 Learning C++......Page 17 1.3 The Design of C++......Page 18 1.4 Historical Note......Page 21 1.5 Use of C++......Page 23 1.6 C and C++......Page 24 1.7 Thinking about Programming in C++......Page 26 1.8 Advice......Page 27 2.1 What is C++?......Page 32 2.2 Programming Paradigms......Page 33 2.3 Procedural Programming......Page 34 2.4 Modular Programming......Page 37 2.5 Data Abstraction......Page 41 2.6 Object Oriented Programming......Page 48 2.7 Generic Programming......Page 51 2.9 Advice......Page 54 3.1 Introduction......Page 56 3.3 The Standard Library Namespace......Page 57 3.4 Output......Page 58 3.5 Strings......Page 59 3.6 Input......Page 61 3.7 Containers......Page 63 3.8 Algorithms......Page 67 3.9 Math......Page 75 3.11 Advice......Page 77 Part I: Basic Facilities......Page 78 4.1 Types......Page 80 4.3 Character Types......Page 82 4.4 Integer Types......Page 84 4.6 Sizes......Page 85 4.8 Enumerations......Page 87 4.9 Declarations......Page 89 4.11 Exercises......Page 96 5.1 Pointers......Page 98 5.2 Arrays......Page 99 5.3 Pointers into Arrays......Page 102 5.4 Constants......Page 105 5.5 References......Page 108 5.6 Pointer to Void......Page 111 5.7 Structures......Page 112 5.8 Advice......Page 115 6.1 A Desk Calculator......Page 118 6.2 Operator Summary......Page 130 6.3 Statement Summary......Page 143 6.4 Comments and Indentation......Page 149 6.5 Advice......Page 150 7.1 Function Declarations......Page 154 7.2 Argument Passing......Page 156 7.3 Value Return......Page 159 7.4 Overloaded Function Names......Page 160 7.5 Default Arguments......Page 164 7.6 Unspecified Number of Arguments......Page 165 7.7 Pointer to Function......Page 167 7.8 Macros......Page 171 7.10 Exercises......Page 174 8.1 Modularization and Interfaces......Page 176 8.2 Namespaces......Page 178 8.3 Exceptions......Page 197 8.5 Exercises......Page 205 9.1 Separate Compilation......Page 208 9.2 Linkage......Page 209 9.3 Using Header Files......Page 219 9.4 Programs......Page 228 9.6 Exercises......Page 230 Part II: Abstraction Mechanisms......Page 232 10.1 Introduction......Page 234 10.2 Classes......Page 235 10.3 Efficient User Defined Types......Page 247 10.4 Objects......Page 253 10.5 Advice......Page 268 11.1 Introduction......Page 272 11.2 Operator Functions......Page 273 11.3 A Complex Number Type......Page 278 11.4 Conversion Operators......Page 286 11.5 Friends......Page 289 11.6 Large Objects......Page 293 11.7 Essential Operators......Page 294 11.8 Subscripting......Page 297 11.9 Function Call......Page 298 11.10 Dereferencing......Page 300 11.11 Increment and Decrement......Page 302 11.12 A String Class......Page 303 11.13 Advice......Page 308 11.14 Exercises......Page 309 12.1 Introduction......Page 312 12.2 Derived Classes......Page 313 12.3 Abstract Classes......Page 324 12.4 Design of Class Hierarchies......Page 325 12.6 Advice......Page 335 12.7 Exercises......Page 336 13.1 Introduction......Page 338 13.2 A Simple String Template......Page 339 13.3 Function Templates......Page 345 13.4 Using Template Arguments to Specify Policy......Page 349 13.5 Specialization......Page 352 13.6 Derivation and Templates......Page 356 13.7 Source Code Organization......Page 361 13.8 Advice......Page 363 13.9 Exercises......Page 364 14.1 Error Handling......Page 366 14.2 Grouping of Exceptions......Page 369 14.3 Catching Exceptions......Page 372 14.4 Resource Management......Page 375 14.5 Exceptions That Are Not Errors......Page 385 14.6 Exception Specifications......Page 386 14.7 Uncaught Exceptions......Page 391 14.8 Exceptions and Efficiency......Page 392 14.9 Error Handling Alternatives......Page 394 14.10 Standard Exceptions......Page 395 14.11 Advice......Page 397 14.12 Exercises......Page 398 15.1 Introduction and Overview......Page 400 15.2 Multiple Inheritance......Page 401 15.3 Access Control......Page 413 15.4 Run Time Type Information......Page 418 15.5 Pointers to Members......Page 429 15.6 Free Store......Page 432 15.8 Exercises......Page 436 Part III: The Standard Library......Page 438 16.1 Standard Library Design......Page 440 16.2 Container Design......Page 445 16.3 Vector......Page 453 16.5 Exercises......Page 470 17.1 Standard Containers......Page 472 17.2 Sequences......Page 480 17.3 Sequence Adapters......Page 486 17.4 Associative Containers......Page 491 17.5 Almost Containers......Page 502 17.6 Defining a New Container......Page 508 17.8 Exercises......Page 515 18.1 Introduction......Page 518 18.2 Overview of Standard Library Algorithms......Page 519 18.3 Sequences and Containers......Page 523 18.4 Function Objects......Page 525 18.5 Nonmodifying Sequence Algorithms......Page 534 18.6 Modifying Sequence Algorithms......Page 540 18.7 Sorted Sequences......Page 550 18.8 Heaps......Page 554 18.9 Min and Max......Page 555 18.10 Permutations......Page 556 18.12 Advice......Page 557 18.13 Exercises......Page 558 19.1 Introduction......Page 560 19.2 Iterators and Sequences......Page 561 19.3 Checked Iterators......Page 572 19.4 Allocators......Page 578 19.5 Advice......Page 588 19.6 Exercises......Page 589 20.1 Introduction......Page 590 20.2 Characters......Page 591 20.3 Basic_string......Page 593 20.4 The C Standard Library......Page 610 20.5 Advice......Page 612 20.6 Exercises......Page 613 21.1 Introduction......Page 616 21.2 Output......Page 618 21.3 Input......Page 624 21.4 Formatting......Page 636 21.5 File Streams and String Streams......Page 648 21.6 Buffering......Page 653 21.7 Locale......Page 660 21.8 C Input/Output......Page 662 21.9 Advice......Page 665 21.10 Exercises......Page 666 22.1 Introduction......Page 668 22.2 Numeric Limits......Page 669 22.3 Standard Mathematical Functions......Page 671 22.4 Vector Arithmetic......Page 673 22.5 Complex Arithmetic......Page 690 22.6 Generalized Numeric Algorithms......Page 693 22.7 Random Numbers......Page 696 22.8 Advice......Page 697 22.9 Exercises......Page 698 Part IV: Design Using C++......Page 700 23.1 Overview......Page 702 23.2 Introduction......Page 703 23.3 Aims and Means......Page 705 23.4 The Development Process......Page 707 23.5 Management......Page 724 23.6 Annotated Bibliography......Page 730 23.7 Advice......Page 732 24.1 Overview......Page 734 24.2 Design and Programming Language......Page 735 24.3 Classes......Page 743 24.4 Components......Page 766 24.5 Advice......Page 774 25.1 Kinds of Classes......Page 776 25.2 Concrete Types......Page 777 25.3 Abstract Types......Page 780 25.4 Node Classes......Page 783 25.5 Actions......Page 787 25.6 Interface Classes......Page 789 25.7 Handle Classes......Page 793 25.8 Application Frameworks......Page 797 25.10 Exercises......Page 799 Appendices and Index......Page 802 A.2 Keywords......Page 804 A.3 Lexical Conventions......Page 805 A.5 Expressions......Page 809 A.6 Statements......Page 813 A.7 Declarations......Page 814 A.8 Classes......Page 819 A.9 Templates......Page 822 A.10 Exception Handling......Page 823 A.11 Preprocessing Directives......Page 824 B.1 Introduction......Page 826 B.2 C/C++ Compatibility......Page 827 B.3 Coping with Older C++ Implementations......Page 831 C.2 The Standard......Page 838 C.3 Character Sets......Page 840 C.4 Types of Integer Literals......Page 843 C.6 Implicit Type Conversion......Page 844 C.7 Multidimensional Arrays......Page 847 C.8 Saving Space......Page 851 C.9 Memory Management......Page 854 C.10 Namespaces......Page 858 C.11 Access Control......Page 860 C.12 Pointers to Data Members......Page 864 C.13 Templates......Page 865 C.14 Advice......Page 878 D.1 Handling Cultural Differences......Page 880 D.1.1 Programming Cultural Differences......Page 881 D.2 The locale Class......Page 884 D.2.1 Named Locales......Page 885 D.2.1.1 Constructing New Locales......Page 888 D.2.2 Copying and Comparing Locales......Page 889 D.2.3 The global() and the classic() Locales......Page 890 D.3 Facets......Page 891 D.3.1 Accessing Facets in a Locale......Page 893 D.3.2 A Simple User-Defined Facet......Page 894 D.3.3 Uses of Locales and Facets......Page 897 D.4 Standard Facets......Page 898 D.4.1 String Comparison......Page 900 D.4.2 Numeric Input and Output......Page 903 D.4.2.1 Numeric Punctuation......Page 904 D.4.2.2 Numeric Output......Page 905 D.4.2.3 Numeric Input......Page 908 D.4.3 Input and Output of Monetary Values......Page 909 D.4.3.1 Money Punctuation......Page 910 D.4.3.2 Money Output......Page 913 D.4.3.3 Money Input......Page 914 D.4.4 Date and Time Input and Output......Page 915 D.4.4.1 Clocks and Timers......Page 916 D.4.4.2 A Date Class......Page 918 D.4.4.3 Date and Time Output......Page 919 D.4.4.4 Date and Time Input......Page 921 D.4.4.5 A More Flexible Date Class......Page 924 D.4.4.6 Specifying a Date Format......Page 925 D.4.4.7 A Date Input Facet......Page 927 D.4.5 Character Classification......Page 931 D.4.5.1 Convenience Interfaces......Page 935 D.4.6 Character Code Conversion......Page 936 D.4.7 Messages......Page 939 D.4.7.1 Using Messages from Other Facets......Page 942 D.5 Advice......Page 943 E.1 Introduction......Page 945 E.2 Exception Safety......Page 946 E.3.1 A Simple Vector......Page 950 E.3.2 Representing Memory Explicitly......Page 953 E.3.3 Assignment......Page 955 E.3.4 push_ back()......Page 957 E.3.5 Constructors and Invariants......Page 959 E.3.5.1 Using init() Functions......Page 960 E.3.5.2 Relying on a Default Valid State......Page 961 E.4 Standard Container Guarantees......Page 963 E.4.1 Insertion and Removal of Elements......Page 965 E.4.2 Guarantees and Tradeoffs......Page 967 E.4.4 Initialization and Iterators......Page 970 E.4.5 References to Elements......Page 971 E.5 The Rest of the Standard Library......Page 972 E.5.3 Algorithms......Page 973 E.5.5 The C Standard Library......Page 974 E.6 Implications for Library Users......Page 975 E.8 Exercises......Page 977 Index......Page 979 This Is A Complete Rewrite Of The Most Widely Read And Most Trusted Book On C++. Based On The Ansi/iso C++ Final Draft, This Book Covers The C++ Language, Its Standard Library, And Key Design Techniques As An Integrated Whole. The C++ Programming Language Provides Comprehensive Coverage Of C++ Language Features And Standard Library Components. With This Third Edition, Stroustrup Makes C++ Even More Accessible To Those New To The Language While Adding Information And Techniques That Even Expert C++ Programmers Will Find Invaluable.--jacket. 1. Notes To The Reader -- 2. A Tour Of C++ -- 3. A Tour Of The Standard Library -- 4. Types And Declarations -- 5. Pointers, Arrays And Structures -- 6. Expressions And Statements -- 7. Functions -- 8. Namespaces And Exceptions -- 9. Sourcefiles And Programs -- 10. Classes -- 11. Operator Overloading -- 12. Derived Classes -- 13. Templates -- 14. Exceptional Handling -- 15. Class Hierarchies -- 16. Library Organization And Containers -- 17. Standard Containers -- 18. Algorithms And Function Objects -- 19. Iterators And Allocators -- 20. Strings -- 21. Streams -- 22. Numerics -- 23. Development And Design -- 24. Design And Programming -- 25. Roles Of Classes -- A. The C++ Grammar -- B. Compatibility -- C. Technicalities -- Index. Bjarne Stroustrup. Includes Index. "This is a complete rewrite of the most widely read and most trusted book on C++. Based on the ANSI/ISO C++ final draft, this book covers the C++ language, its standard library, and key design techniques as an integrated whole." "The C++ Programming Language provides comprehensive coverage of C++ language features and standard library components.". "With this third edition, Stroustrup makes C++ even more accessible to those new to the language while adding information and techniques that even expert C++ programmers will find invaluable."--BOOK JACKET. The most widely read and trusted guide to the C++ language, standard library, and design techniques includes significant new updates and two new appendices on internationalization and Standard Library technicalities. It is the only book with authoritative, accessible coverage of every major element of ISO/ANSI Standard C++. The C++ Programming tome, written by the father of C++ himself, Bjarne Stroustrup. The premier book on the subject of C++ Programming.

قیمت نهایی

۴۰٬۰۰۰ تومان