دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 6
نویسندگان: Gregoire. Marc
سری:
ناشر: Wrox
سال نشر: 2024
تعداد صفحات: 1970
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 13 مگابایت
در صورت تبدیل فایل کتاب Professional C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب حرفه ای سی نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
COVER TABLE OF CONTENTS TITLE PAGE INTRODUCTION WHO THIS BOOK IS FOR WHAT THIS BOOK COVERS HOW THIS BOOK IS STRUCTURED CONVENTIONS WHAT YOU NEED TO USE THIS BOOK READER SUPPORT FOR THIS BOOK NOTE PART I: Introduction to Professional C++ 1 A Crash Course in C++ and the Standard Library C++ CRASH COURSE YOUR FIRST BIGGER C++ PROGRAM SUMMARY EXERCISES NOTE 2 Working with Strings and String Views DYNAMIC STRINGS FORMATTING AND PRINTING STRINGS SUMMARY EXERCISES NOTES 3 Coding with Style THE IMPORTANCE OF LOOKING GOOD DOCUMENTING YOUR CODE DECOMPOSITION NAMING USING LANGUAGE FEATURES WITH STYLE FORMATTING STYLISTIC CHALLENGES SUMMARY EXERCISES NOTE PART II: Professional C++ Software Design 4 Designing Professional C++ Programs WHAT IS PROGRAMMING DESIGN? THE IMPORTANCE OF PROGRAMMING DESIGN DESIGNING FOR C++ TWO RULES FOR YOUR OWN C++ DESIGNS REUSING EXISTING CODE DESIGNING A CHESS PROGRAM SUMMARY EXERCISES 5 Designing with Classes AM I THINKING PROCEDURALLY? THE OBJECT-ORIENTED PHILOSOPHY LIVING IN A WORLD OF CLASSES CLASS RELATIONSHIPS SUMMARY EXERCISES 6 Designing for Reuse THE REUSE PHILOSOPHY HOW TO DESIGN REUSABLE CODE SUMMARY EXERCISES NOTE PART III: C++ Coding the Professional Way 7 Memory Management WORKING WITH DYNAMIC MEMORY ARRAY-POINTER DUALITY LOW-LEVEL MEMORY OPERATIONS COMMON MEMORY PITFALLS SMART POINTERS SUMMARY EXERCISES NOTES 8 Gaining Proficiency with Classes and Objects INTRODUCING THE SPREADSHEET EXAMPLE WRITING CLASSES UNDERSTANDING OBJECT LIFE CYCLES SUMMARY EXERCISES 9 Mastering Classes and Objects FRIENDS DYNAMIC MEMORY ALLOCATION IN OBJECTS MORE ABOUT MEMBER FUNCTIONS CONSTEXPR AND CONSTEVAL DIFFERENT KINDS OF DATA MEMBERS NESTED CLASSES ENUMERATIONS INSIDE CLASSES OPERATOR OVERLOADING BUILDING STABLE INTERFACES SUMMARY EXERCISES NOTES 10 Discovering Inheritance Techniques BUILDING CLASSES WITH INHERITANCE INHERITANCE FOR REUSE RESPECT YOUR PARENTS INHERITANCE FOR POLYMORPHISM MULTIPLE INHERITANCE INTERESTING AND OBSCURE INHERITANCE ISSUES CASTS SUMMARY EXERCISES 11 Modules, Header Files, and Miscellaneous Topics MODULES PREPROCESSOR DIRECTIVES LINKAGE HEADER FILES FEATURE-TEST MACROS FOR CORE LANGUAGE FEATURES THE STATIC KEYWORD C-STYLE VARIABLE-LENGTH ARGUMENT LISTS SUMMARY EXERCISES 12 Writing Generic Code with Templates OVERVIEW OF TEMPLATES CLASS TEMPLATES FUNCTION TEMPLATES VARIABLE TEMPLATES CONCEPTS SUMMARY EXERCISES 13 Demystifying C++ I/O USING STREAMS STRING STREAMS SPAN-BASED STREAMS FILE STREAMS BIDIRECTIONAL I/O FILESYSTEM SUPPORT LIBRARY SUMMARY EXERCISES 14 Handling Errors ERRORS AND EXCEPTIONS EXCEPTION MECHANICS EXCEPTIONS AND POLYMORPHISM RETHROWING EXCEPTIONS STACK UNWINDING AND CLEANUP SOURCE LOCATION STACK TRACE COMMON ERROR-HANDLING ISSUES EXCEPTION SAFETY GUARANTEES SUMMARY EXERCISES NOTE 15 Overloading C++ Operators OVERVIEW OF OPERATOR OVERLOADING OVERLOADING THE ARITHMETIC OPERATORS OVERLOADING THE BITWISE AND BINARY LOGICAL OPERATORS OVERLOADING THE INSERTION AND EXTRACTION OPERATORS OVERLOADING THE SUBSCRIPTING OPERATOR OVERLOADING THE FUNCTION CALL OPERATOR OVERLOADING THE DEREFERENCING OPERATORS WRITING CONVERSION OPERATORS OVERLOADING THE MEMORY ALLOCATION AND DEALLOCATION OPERATORS OVERLOADING USER-DEFINED LITERAL OPERATORS SUMMARY EXERCISES 16 Overview of the C++ Standard Library CODING PRINCIPLES OVERVIEW OF THE C++ STANDARD LIBRARY SUMMARY EXERCISES 17 Understanding Iterators and the Ranges Library ITERATORS STREAM ITERATORS ITERATOR ADAPTERS RANGES SUMMARY EXERCISES NOTE 18 Standard Library Containers CONTAINERS OVERVIEW SEQUENTIAL CONTAINERS SEQUENTIAL VIEWS CONTAINER ADAPTERS ASSOCIATIVE CONTAINERS OTHER CONTAINERS SUMMARY EXERCISES 19 Function Pointers, Function Objects, and Lambda Expressions FUNCTION POINTERS POINTERS TO MEMBER FUNCTIONS (AND DATA MEMBERS) FUNCTION OBJECTS POLYMORPHIC FUNCTION WRAPPERS LAMBDA EXPRESSIONS INVOKERS SUMMARY EXERCISES NOTE 20 Mastering Standard Library Algorithms OVERVIEW OF ALGORITHMS ALGORITHM DETAILS SUMMARY EXERCISES 21 String Localization and Regular Expressions LOCALIZATION REGULAR EXPRESSIONS SUMMARY EXERCISES 22 Date and Time Utilities COMPILE-TIME RATIONAL NUMBERS DURATION CLOCK TIME POINT DATE TIME ZONE SUMMARY EXERCISES 23 Random Number Facilities C-STYLE RANDOM NUMBER GENERATION RANDOM NUMBER ENGINES RANDOM NUMBER ENGINE ADAPTERS PREDEFINED ENGINES AND ENGINE ADAPTERS GENERATING RANDOM NUMBERS RANDOM NUMBER DISTRIBUTIONS SUMMARY EXERCISES 24 Additional Vocabulary Types VARIANT ANY TUPLE OPTIONAL: MONADIC OPERATIONS EXPECTED SUMMARY EXERCISES PART IV: Mastering Advanced Features of C++ 25 Customizing and Extending the Standard Library ALLOCATORS EXTENDING THE STANDARD LIBRARY SUMMARY EXERCISES NOTE 26 Advanced Templates MORE ABOUT TEMPLATE PARAMETERS CLASS TEMPLATE PARTIAL SPECIALIZATION EMULATING FUNCTION PARTIAL SPECIALIZATION WITH OVERLOADING TEMPLATE RECURSION VARIADIC TEMPLATES METAPROGRAMMING SUMMARY EXERCISES 27 Multithreaded Programming with C++ INTRODUCTION THREADS ATOMIC OPERATIONS LIBRARY MUTUAL EXCLUSION CONDITION VARIABLES LATCHES BARRIERS SEMAPHORES FUTURES EXAMPLE: MULTITHREADED LOGGER CLASS THREAD POOLS COROUTINES THREADING DESIGN AND BEST PRACTICES SUMMARY EXERCISES NOTES PART V: C++ Software Engineering 28 Maximizing Software Engineering Methods THE NEED FOR PROCESS SOFTWARE LIFE CYCLE MODELS SOFTWARE ENGINEERING METHODOLOGIES BUILDING YOUR OWN PROCESS AND METHODOLOGY VERSION CONTROL SUMMARY EXERCISES 29 Writing Efficient C++ OVERVIEW OF PERFORMANCE AND EFFICIENCY LANGUAGE-LEVEL EFFICIENCY DESIGN-LEVEL EFFICIENCY PROFILING SUMMARY EXERCISES NOTES 30 Becoming Adept at Testing QUALITY CONTROL UNIT TESTING FUZZ TESTING HIGHER-LEVEL TESTING TIPS FOR SUCCESSFUL TESTING SUMMARY EXERCISES NOTE 31 Conquering Debugging THE FUNDAMENTAL LAW OF DEBUGGING BUG TAXONOMIES AVOID BUGS PLAN FOR BUGS DEBUGGING TECHNIQUES SUMMARY EXERCISES 32 Incorporating Design Techniques and Frameworks “I CAN NEVER REMEMBER HOW TO…” THERE MUST BE A BETTER WAY OBJECT-ORIENTED FRAMEWORKS SUMMARY EXERCISES 33 Applying Design Patterns THE STRATEGY PATTERN THE ABSTRACT FACTORY PATTERN THE FACTORY METHOD PATTERN OTHER FACTORY PATTERNS THE ADAPTER PATTERN THE PROXY PATTERN THE ITERATOR PATTERN THE OBSERVER PATTERN THE DECORATOR PATTERN THE CHAIN OF RESPONSIBILITY PATTERN THE SINGLETON PATTERN SUMMARY EXERCISES 34 Developing Cross-Platform and Cross-Language Applications CROSS-PLATFORM DEVELOPMENT CROSS-LANGUAGE DEVELOPMENT SUMMARY EXERCISES NOTE PART VI: Appendices A: C++ Interviews CHAPTER 1: A CRASH COURSE IN C++ AND THE STANDARD LIBRARY CHAPTERS 2 AND 21: WORKING WITH STRINGS AND STRING VIEWS, AND STRING LOCALIZATION AND REGULAR EXPRESSIONS CHAPTER 3: CODING WITH STYLE CHAPTER 4: DESIGNING PROFESSIONAL C++ PROGRAMS CHAPTER 5: DESIGNING WITH CLASSES CHAPTER 6: DESIGNING FOR REUSE CHAPTER 7: MEMORY MANAGEMENT CHAPTERS 8 AND 9: GAINING PROFICIENCY WITH CLASSES AND OBJECTS, AND MASTERING CLASSES AND OBJECTS CHAPTER 10: DISCOVERING INHERITANCE TECHNIQUES CHAPTER 11: MODULES, HEADER FILES, AND MISCELLANEOUS TOPICS CHAPTERS 12 AND 26: WRITING GENERIC CODE WITH TEMPLATES, AND ADVANCED TEMPLATES CHAPTER 13: DEMYSTIFYING C++ I/O CHAPTER 14: HANDLING ERRORS CHAPTER 15: OVERLOADING C++ OPERATORS CHAPTERS 16–20 AND 25: THE STANDARD LIBRARY CHAPTER 22: DATE AND TIME UTILITIES CHAPTER 23: RANDOM NUMBER FACILITIES CHAPTER 24: ADDITIONAL VOCABULARY TYPES CHAPTER 27: MULTITHREADED PROGRAMMING WITH C++ CHAPTER 28: MAXIMIZING SOFTWARE ENGINEERING METHODS CHAPTER 29: WRITING EFFICIENT C++ CHAPTER 30: BECOMING ADEPT AT TESTING CHAPTER 31: CONQUERING DEBUGGING CHAPTER 32: INCORPORATING DESIGN TECHNIQUES AND FRAMEWORKS CHAPTER 33: APPLYING DESIGN PATTERNS CHAPTER 34: DEVELOPING CROSS-PLATFORM AND CROSS-LANGUAGE APPLICATIONS B: Annotated Bibliography C++ UNIFIED MODELING LANGUAGE ALGORITHMS AND DATA STRUCTURES RANDOM NUMBERS OPEN-SOURCE SOFTWARE SOFTWARE ENGINEERING METHODOLOGY PROGRAMMING STYLE COMPUTER ARCHITECTURE EFFICIENCY TESTING DEBUGGING DESIGN PATTERNS OPERATING SYSTEMS MULTITHREADED PROGRAMMING C: Standard Library Header Files THE C STANDARD LIBRARY CONTAINERS ALGORITHMS, ITERATORS, RANGES, AND ALLOCATORS GENERAL UTILITIES MATHEMATICAL UTILITIES EXCEPTIONS I/O STREAMS THREADING SUPPORT LIBRARY D: Introduction to UML DIAGRAM TYPES CLASS DIAGRAMS INTERACTION DIAGRAMS INDEX COPYRIGHT DEDICATION ABOUT THE AUTHOR ABOUT THE TECHNICAL EDITORS ACKNOWLEDGMENTS END USER LICENSE AGREEMENT