Modern C++ for absolute beginners : a friendly introduction to the C++ programming language and C++11 to C++20 standards
معرفی کتاب «Modern C++ for absolute beginners : a friendly introduction to the C++ programming language and C++11 to C++20 standards» نوشتهٔ Dmitrović, Slobodan، منتشرشده توسط نشر Apress : Imprint: Apress در سال 2020. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
Learn the C++ programming language in a structured, straightforward, and friendly manner. This book teaches the basics of the modern C++ programming language, C++ Standard Library, and modern C++ standards. No previous programming experience is required. C++ is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. To overcome this, each section is filled with real-world examples that gradually increase in complexity. Modern C++ for Absolute Beginners teaches more than just programming in C++20. It provides a solid C++ foundation to build upon. The author takes you through the C++ programming language, the Standard Library, and the C++11 to C++20 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C++20 features and standards, yet you will also compare and take a look into previous versions of C++. You will do so with plenty of relevant source code examples. What You Will Learn Work with the basics of C++: types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code Declare and define functions, classes, and objects, and organize code into namespaces Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorphism, and more using the most advanced C++ features Employ best practices in organizing source code and controlling program workflow Get familiar with C++ language dos and donts, and more Master the basics of lambdas, inheritance, polymorphism, smart pointers, templates, modules, contracts, concepts, and more Who This Book Is For Beginner or novice programmers who wish to learn C++ programming. No prior programming experience is required. Table of Contents About the Author About the Technical Reviewer Acknowledgments Chapter 1: Introduction Chapter 2: What is C++? 2.1 C++ Standards Chapter 3: C++ Compilers 3.1 Installing C++ Compilers 3.1.1 On Linux 3.1.2 On Windows Chapter 4: Our First Program 4.1 Comments 4.2 Hello World Example Chapter 5: Types 5.1 Fundamental Types 5.1.1 Boolean 5.1.2 Character Type 5.1.3 Integer Types 5.1.4 Floating-Point Types 5.1.5 Type void 5.2 Type Modifiers 5.3 Variable Declaration, Definition, and Initialization Chapter 6: Exercises 6.1 Hello World and Comments 6.2 Declaration 6.3 Definition 6.4 Initialization Chapter 7: Operators 7.1 Assignment Operator 7.2 Arithmetic Operators 7.3 Compound Assignment Operators 7.4 Increment/Decrement Operators Chapter 8: Standard Input Chapter 9: Exercises 9.1 Standard Input 9.2 Two Inputs 9.3 Multiple Inputs 9.4 Inputs and Arithmetic Operations 9.5 Post-Increment and Compound Assignment 9.6 Integral and Floating-point Division Chapter 10: Arrays Chapter 11: Pointers Chapter 12: References Chapter 13: Introduction to Strings 13.1 Defining a String 13.2 Concatenating Strings 13.3 Accessing Characters 13.4 Comparing Strings 13.5 String Input 13.6 A Pointer to a String 13.7 Substrings 13.8 Finding a Substring Chapter 14: Automatic Type Deduction Chapter 15: Exercises 15.1 Array Definition 15.2 Pointer to an Object 15.3 Reference Type 15.4 Strings 15.5 Strings from Standard Input 15.6 Creating a Substring 15.7 Finding a single Character 15.8 Finding a Substring 15.9 Automatic Type Deduction Chapter 16: Statements 16.1 Selection Statements 16.1.1 if Statement 16.1.2 Conditional Expression 16.1.3 The Logical Operators 16.1.3.1 Comparison operators 16.1.4 switch Statement 16.2 Iteration Statements 16.2.1 for Statement 16.2.2 while Statement 16.2.3 do Statement Chapter 17: Constants Chapter 18: Exercises 18.1 A Simple if-statement 18.2 Logical Operators 18.3 The switch-statement 18.4 The for-loop 18.5 Array and the for-loop 18.6 The const Type Qualifier Chapter 19: Functions 19.1 Introduction 19.2 Function Declaration 19.3 Function Definition 19.4 Return Statement 19.5 Passing Arguments 19.5.1 Passing by Value/Copy 19.5.2 Passing by Reference 19.5.3 Passing by Const Reference 19.6 Function Overloading Chapter 20: Exercises 20.1 Function Definition 20.2 Separate Declaration and Definition 20.3 Function Parameters 20.4 Passing Arguments 20.5 Function Overloads Chapter 21: Scope and Lifetime 21.1 Local Scope 21.2 Block Scope 21.3 Lifetime 21.4 Automatic Storage Duration 21.5 Dynamic Storage Duration 21.6 Static Storage Duration 21.7 Operators new and delete Chapter 22: Exercises 22.1 Automatic Storage Duration 22.2 Dynamic Storage Duration 22.3 Automatic and Dynamic Storage Durations Chapter 23: Classes - Introduction 23.1 Data Member Fields 23.2 Member Functions 23.3 Access Specifiers 23.4 Constructors 23.4.1 Default Constructor 23.4.2 Member Initialization 23.4.3 Copy Constructor 23.4.4 Copy Assignment 23.4.5 Move Constructor 23.4.6 Move Assignment 23.5 Operator Overloading 23.6 Destructors Chapter 24: Exercises 24.1 Class Instance 24.2 Class with Data Members 24.3 Class with Member Function 24.4 Class with Data and Function Members 24.5 Class Access Specifiers 24.6 User-defined Default Constructor and Destructor 24.7 Constructor Initializer List 24.8 User-defined Copy Constructor 24.9 User-defined Move Constructor 24.10 Overloading Arithmetic Operators Chapter 25: Classes – Inheritance and Polymorphism 25.1 Inheritance 25.2 Polymorphism Chapter 26: Exercises 26.1 Inheritance Chapter 27: The static Specifier Chapter 28: Templates Chapter 29: Enumerations Chapter 30: Exercises 30.1 Static variable 30.2 Static data member 30.3 Static member function 30.4 Function Template 30.5 Class Template 30.6 Scoped Enums 30.7 Enums in a switch Chapter 31: Organizing code 31.1 Header and Source Files 31.2 Header Guards 31.3 Namespaces Chapter 32: Exercises 32.1 Header and Source Files 32.2 Multiple Source Files 32.3 Namespaces 32.4 Nested Namespaces Chapter 33: Conversions 33.1 Implicit Conversions 33.2 Explicit Conversions Chapter 34: Exceptions Chapter 35: Smart Pointers 35.1 Unique Pointer 35.2 Shared Pointer Chapter 36: Exercises 36.1 static_cast Conversion 36.2 A Simple Unique Pointer: 36.3 Unique Pointer to an Object of a Class 36.4 Shared Pointers Exercise 36.5 Simple Polymorphism 36.6 Polymorphism II 36.7 Exception Handling 36.8 Multiple Exceptions Chapter 37: Input/Output Streams 37.1 File Streams 37.2 String Streams Chapter 38: C++ Standard Library and Friends 38.1 Containers 38.1.1 std::vector 38.1.2 std::array 38.1.3 std::set 38.1.4 std::map 38.1.5 std::pair 38.1.6 Other Containers 38.2 The Range-Based for Loop 38.3 Iterators 38.4 Algorithms and Utilities 38.4.1 std::sort 38.4.2 std::find 38.4.3 std::copy 38.4.4 Min and Max Elements 38.5 Lambda Expressions Chapter 39: Exercises 39.1 Basic Vector 39.2 Deleting a Single Value 39.3 Deleting a Range of Elements 39.4 Finding Elements in a Vector 39.5 Basic Set 39.6 Set Data Manipulation 39.7 Set Member Functions 39.8 Search for Data in a Set 39.9 Basic Map 39.10 Inserting Into Map 39.11 Searching and Deleting From a Map 39.12 Lambda Expressions Chapter 40: C++ Standards 40.1 C++11 40.1.1 Automatic Type Deduction 40.1.2 Range-based Loops 40.1.3 Initializer Lists 40.1.4 Move Semantics 40.1.5 Lambda Expressions 40.1.6 The constexpr Specifier 40.1.7 Scoped Enumerators 40.1.8 Smart Pointers 40.1.9 std::unordered_set 40.1.10 std::unordered_map 40.1.11 std::tuple 40.1.12 static_assert 40.1.13 Introduction to Concurrency 40.1.14 Deleted and Defaulted Functions 40.1.15 Type Aliases 40.2 C++14 40.2.1 Binary Literals 40.2.2 Digits Separators 40.2.3 Auto for Functions 40.2.4 Generic Lambdas 40.2.5 std::make_unique 40.3 C++17 40.3.1 Nested Namespaces 40.3.2 Constexpr Lambdas 40.3.3 Structured Bindings 40.3.4 std::filesystem 40.3.5 std::string_view 40.3.6 std::any 40.3.7 std::variant 40.4 C++20 40.4.1 Modules 40.4.2 Concepts 40.4.3 Lambda Templates 40.4.4 [likely] and [unlikely] Attributes 40.4.5 Ranges 40.4.6 Coroutines 40.4.7 std::span 40.4.8 Mathematical Constants Summary and Advice The go-to Reference StackOverflow Other Online Resources Other C++ Books Advice Index Learn the C programming language in a structured, straightforward, and friendly manner. This book teaches the basics of the modern C programming language, C Standard Library, and modern C standards. No previous programming experience is required. C is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. To overcome this, each section is filled with real-world examples that gradually increase in complexity. Modern C for Absolute Beginners teaches more than just programming in C 20. It provides a solid C foundation to build upon. The author takes you through the C programming language, the Standard Library, and the C 11 to C 20 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C 20 features and standards, yet you will also compare and take a look into previous versions of C . You will do so with plenty of relevant source code examples. What You Will Learn Work with the basics of C : types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code Declare and define functions, classes, and objects, and organize code into namespaces Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorphism, and more using the most advanced C features Employ best practices in organizing source code and controlling program workflow Get familiar with C language dos and donts, and more Master the basics of lambdas, inheritance, polymorphism, smart pointers, templates, modules, contracts, concepts, and more Who This Book Is For Beginner or novice programmers who wish to learn C programming. No prior programming experience is required. C++ is a language like no other, surprising in its complexity, yet wonderfully sleek and elegant in so many ways. It is also a language that cannot be learned by guessing, one that is easy to get wrong and challenging to get right. This book is an effort to introduce the reader to a C++ programming language in a structured, straightforward, and friendly manner. The book teaches the basics of the modern C++ programming language, C++ Standard Library, and modern C++ standards. No previous programming experience is required. Each section is filled with real-world examples that gradually increase in complexity. Modern C++ for Absolute Beginners teaches more than just programming in C+20. It provides a solid C+ foundation to build upon. The author takes you through the C++ programming language, the Standard Library, and the C+11 to C+20 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C+20 features and standards, yet you will also compare and take a look into previous versions of C+. You will do so with plenty of relevant source code examples. You will: -Work with the basics of C++: types, operators, variables, constants, expressions,references, functions, classes, I/O, smart pointers, polymorphism, and more -Set up the Visual Studio environment on Windows and GCC on Linux, where you can write your own code -Declare and define functions, classes, and objects, and organize code into namespaces -Discover object-oriented programming: classes and objects, encapsulation,inheritance, polymorphism, and more using the most advanced C++ features -Employ best practices in organizing source code and controlling program workflow -Get familiar with C++ language dos and donts, and more -Master the basics of lambdas, inheritance, polymorphism, smart pointers, templates,modules, contracts, concepts, and more Learn The Basics Of The Modern C++ Programming Language From Scratch, Including The C++11 To C++20 Standards, No Experience Necessary. You’ll Work With Expressions And Statements, Variables, Libraries, Arguments, Classes, Functions, Memory Handling, And Much More.each Section Is Filled With Real-world Examples And Advice On How To Avoid Common Mistakes. Modern C++ For Absolute Beginners Will Teach You More Than Just Programming In C++20. It Will Provide You With A Set Of C++ Skills, Which Will Serve You If You Ever Decide To Deepen Your Knowledge In C++, Computer Science, Or Learn More About Advanced C++ Techniques. The Author Will Take You Through The C++ Programming Language, The Standard Library, And The C++11 To C++20 Standard Basics. Each Chapter Is Accompanied By The Right Amount Of Theory And Plenty Of Source Code Examples. You Will Work With C++20 Features And Standards, Yet You Will Also Compare And Take A Look Into Previous Versions Of C++. You Will Do So With Plenty Of Examples And Real Code Writing To Gain An Even Better Level Of Understanding. What You Will Learn Use The Basics Of C++: Types, Operators, Variables, Constants, Expressions, References, Functions, Classes, I/o, Smart Pointers, Polymorphism, And More Set Up The Visual Studio Development Environment Where You Can Write Your Own Code Declare And Define Functions, Classes, And Objects Discover Object-oriented Programming: Classes And Objects, Encapsulation, Inheritance, Polymorhism, And More Using The Most Advanced C++ Features Employ Best Practices In Organizing Source Code, Controlling Program Workflow, C++ Language Dos And Donts, And More Program Using Lambda, Modules, Inheritance, Polymorphism, Smart Pointers, Templates, Contracts, Stl, Concepts, And Exceptions Who This Book Is For Beginner Or Novice Programmers Who Wish To Learn C++ Programming. No Prior Programming Experience Is Required. Learn the basics of the C++20 language from scratch, no experience necessary. You'll work with expressions and statements, variables, libraries, arguments, classes, functions, memory handling, and much more. Each section is filled with real-world examples, exceptions, and common mistakes to avoid. Modern C++ for Absolute Beginners will teach you more than just programming in C++20. It will provide you with a set of skills in computer science, which will serve you if you ever decide to deepen your knowledge in computer science or learn another programming language. The author will take you through writing a fully featured application for managing books in a big library. It will include users, encryption, database operations, a user interface, and more. Each chapter will add another layer to this program and by the end of the book the code will be complete and fully functional. You will work with C++20 features and standards, yet you will also compare and take a look into previous versions of C++. You will do so with plenty of examples and real code writing to gain an even better level of understanding. You will: Use the basics of C++: structures, variables, constants, ranges and lists, expressions, operators, and more Set up the Visual Studio development environment where you can write your own code Define functions, pointers, and references Discover object-oriented programming: classes and references, source location, objects, memory management, overflow, and more, using the most advanced C++ features Employ best practices in managing and controlling program workflow, multitasking, and more Program using lambda, modules, inheritance, polymorphism, smart pointers, templates, contracts, STL, concepts, and exceptions Debug your code to ensure your applications run as expected
دانلود کتاب Modern C++ for absolute beginners : a friendly introduction to the C++ programming language and C++11 to C++20 standards