Produktbild: C++20 for Lazy Programmers

C++20 for Lazy Programmers Quick, Easy, and Fun C++ for Beginners

Fr. 92.90

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

12.12.2020

Abbildungen

198 Illustrations, black and white

Verlag

Apress

Seitenzahl

677

Maße (L/B/H)

25.4/17.8/3.7 cm

Gewicht

1308 g

Auflage

2. Auflage

Sprache

Englisch

ISBN

978-1-4842-6305-1

Beschreibung

Produktdetails

Einband

Taschenbuch

Erscheinungsdatum

12.12.2020

Abbildungen

198 Illustrations, black and white

Verlag

Apress

Seitenzahl

677

Maße (L/B/H)

25.4/17.8/3.7 cm

Gewicht

1308 g

Auflage

2. Auflage

Sprache

Englisch

ISBN

978-1-4842-6305-1

Herstelleradresse

Springer Nature Customer Service Center GmbH
Europaplatz 3
69115 Heidelberg
DE
ProductSafety@springernature.com

Kundinnen und Kunden meinen

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Kundinnen und Kunden meinen

0 Bewertungen filtern

  • Produktbild: C++20 for Lazy Programmers
  • Introduction 1-1

    1 Getting started 1-91.1 A simple program 1-91.2 Creating an SSDL project 1-121.3 Shapes and the functions that draw them 1-271.4 consts and colors 1-351.5 Text 1-37 Prominent examples from this chapter:  a drawing of a bug's head; a neatly printed poem.

    2 Images and sound 2-432.1 Images and changing window characteristics 2-432.2 Multiple images together 2-482.3 Adding transparency with GIMP 2-502.4 Sound 2-54Example:  a slide show (Your yard gnome's travel pics).

    3 Math: types, operations, consts, and math functions 3-563.1 Variables 3-563.2 const, constexpr, constinit 3-573.3 Math operators 3-593.4 Built-in functions and casting 3-62Examples:  diver on a diving board; a 5-pointed star.C++20 updates:  constexpr, constinit.

    After this chapter, constexpr/constinit show up in most examples.

    4 Mouse, and if 4-674.1 Mouse functions 4-674.2 if 4-694.3 Boolean values and variables 4-734.4 A hidden-object game 4-75Example:  The hidden-object game.

    5 Loops and text input 5-795.1 Keyboard input 5-795.2 while and do-while 5-815.3 for loops 5-855.4 chars and cctype 5-905.5 switch 5-94Examples:  the Monty Hall problem; menus.

    6 Algorithms and the development process 6-976.1 Adventures in robotic cooking 6-976.2 Writing a program from start to finish 6-100

    Example: a bullseye pattern.

    7 Functions 7-1067.1 Functions that return values 7-1067.2 Functions that return nothing 7-1097.3 Global variables and why they're evil 7-1117.4 How to write a function in four easy steps (and call it in one) 7-1137.5 Why have functions, anyway? 7-117Example:  a multi-frame comic (illustrates code reuse). 

    8 Functions (Continued) 8-1268.1 Random numbers 8-1268.2 Boolean functions 8-1318.3 Multiple values provided:  using & parameters 8-1338.4 Identifier scope 8-1388.5 A final note on algorithms 8-140 Examples:  various functions using random number generation.

    9 Using the debugger 9-1419.1 A flawed program 9-1419.2 Breakpoints and watched variables 9-1459.3 Fixing the stripes 9-1459.4 Going into functions 9-1499.4 Fixing the stars 9-1499.4 Wrap-up 9-1509.4 Other debugging techniques 9-1539.4 More on antibugging 9-156

    Example: a national flag.

    10 Arrays and enum class 10-15910.1 Arrays 10-15910.2 Arrays as function parameters 10-16010.3 enum class 10-16610.4 Multidimensional arrays 10-166Examples: monthly temperatures, checkers, tic-tac-toe.C++20 update: using enum class (which significantly improves the usefulness of enum class).

    11 Animation with structs and sprites 11-17311.1 struct 11-17311.2 Making a movie with struct and while 11-17611.3 Sprites 11-182Examples:  bouncing balls; a video aquarium.C++20 update:  designated initializers for structs.

    12 Building your own arcade game:  input, collisions, and putting it all together 12-18812.1 Determining input states 12-18812.2 Events 12-19012.3 Cooldowns and lifetimes 12-19112.4 Collisions 12-19412.5 The big game 12-195Examples: an arcade game, and the student's own game.

    13 Standard I/O and file operations 13-20413.1 Standard I/O programs in Visual C++ and g++ 13-20413.2 File I/O (optional) 13-210Examples:  various programs reading/writing text files.  Except for Chapter 21 (virtual functions), this and subsequent chapters use standard console I/O, not the SSDL graphics library.  If used for a course, this chapter likely ends the first semester, so if students are going into a class with a different textbook, they are ready for the console I/O it will certainly require them to know.

    14 Character arrays and dynamic memory (pointers) 14-22114.1 Character arrays 14-22114.2 Dynamic allocation of arrays. 14-22414.3 Using the * notation 14-228Examples:  C's string functions, written as examples or offered as exercises; code with new and deleteC++20 updates: array size deduction in new expressions.

    15 Classes:  the basics 15-23215.1 Writing classes 15-23215.2 Constructors 15-23515.3 const objects, const member functions... 15-23915.4 ...and const parameters 15-24115.5 Multiple constructors 15-24115.6 Default parameters for code reuse 15-24415.7 Date program (so far) 15-245Examples:  the Date class; the student's own Time class.

    16 Classes, continued 16-24816.1 inline functions for efficiency 16-24816.2 Access functions 16-24916.3 static members, inline, and constexpr/constinit 16-25016.4 Separate compilation and include files 16-25216.5 Multiple-file projects in Microsoft Visual C++ 16-25716.7 Multiple-file projects in g++ 16-25916.8 Final Date program 16-264Examples:  the Date class; the student's own Time class, continued.C++20 updates: constexpr/consteval member functions; constexpr/constinit data members and their interaction with static.

    17 Operators, and destructors 17-26817.1 The basic string class 17-26817.2 Destructors 17-27017.3 == and != operators 17-27117.3 Other comparison operators, using the spaceship operator 17-27117.4 Assignment operators and *this 17-27317.5 Arithmetic operators 17-27517.6 [] and () operators 17-27917.7 >> and <<: operators that aren't class members 17-28117.8 ++ and -- 17-28317.9 Explicit call to constructor 17-28417.10 .The final String class 17-28517.11 #include 17-291Examples:  a String class; the student's own Point or Fraction class.C++20 updates:  implicit != operator; the three-way "spaceship" () operator.

    18 Exceptions, recursion, and O notation 18-29218.1 Exceptions 18-29218.1 Move constructors and move = (optional) 18-29618.2 Recursion (optional; used in the next section) 18-30018.3 Algorithm analysis and O-notation (optional) 18-303Examples:  a Stack class; a factorial function; binary and linear search.

    19 Classes, continued:  inheritance 19-30919.1 The basics of inheritance 19-30919.2 Constructors and destructors 19-31219.2 Inheritance as a concept 19-31219.3 An inheritance heirarchy, and public/private inheritance 19-31419.4 Modules: the modern way to maintain libraries 19-314Examples:  card games.C++20 update: modules. 

    20 Template functions and classes 20-33520.1 Function templates 20-33520.2 The Vector class 20-33820.3 Making Vector a template 20-34120.4 Unusual class templates (optional) 20-34520.5 #include ^t; 20-346C++20 updates: concepts; class template argument deduction for aggregates.

    21 Multiple inheritance and virtual functions 21-34721.1 Virtual functions 21-34721.2 Multiple inheritance 21-357Example:  a Shape class.  This chapter uses the SSDL library.C++20 updates: if it fits with the examples, constexpr virtual functions. 

    22 Linked lists 22-35922.1 What lists are and why have them 22-35922.2 The (default) constructor 22-36322.3 push_front 22-36322.4 pop_front 22-36522.5 The destructor 22-36722.6 ->:  a bit of syntactic sugar 22-36722.7 A bit more friendly syntax:  pointers as conditions 22-36722.8 The linked list template 22-36822.9 #include 22-371Example:  the List class.

    23 The Standard Template Library (STL) 23-37123.1 Iterators 23-37123.2 Getting really lazy: ranges and auto 23-37523.3 Initializer lists (optional) 23-37623.4 algorithm (optional) 23-375Example:  an extension of the List class to use iterators.C++20 updates: initialization statements in range-based for loops (Section 23.2); std::span (23.2); parenthesized initialization of aggregates (23.3); simplified erase*/remove* functions (23.4).

    If this is used for a class, the second semester likely ends with Chapter 19 or 20.  Remaining chapters are extras for those who want to go further.

    24 Building bigger projects 24-37724.1 Namespaces 24-37724.2 Conditional compilation 24-37824.3 Libraries 24-378

    25 History 25-38225.1 SIMULA 67 25-38225.2 Smalltalk 25-38225.3 What "object-oriented" is 25-38325.4 C 25-38325.5 C++ 25-38326.6 C++'s evolving standards, C++98 to C++20 25-383

    26 Esoterica (recommended) 26-38526.1 Formatted output (fmt) 26-38526.2 Command-line arguments 26-38726.3 static_cast et al 26-38926.4 Defaulted constructors and = 26-39126.5 User-defined literals: let C++ handle your units for you 26-39326.6 Lambda functions for one-time use 26-39526.7 Sructured bindings: returning multiple values at once 26-39826.8 Smart pointers 26-40026.9 Bit twiddling:  &, |, and ~ 26-402

    C++20 updates: Formatted output; std::make_shared()'s support for arrays (Section 26.8).

    27 Esoterica (not so recommended) 27-40427.1 protected sections 27-40427.2 Template specialization 27-40527.3 friends and why you shouldn't have any 27-40527.4 User-defined conversions 27-408

    28 C 28-41228.1 Compiling C 28-41228.2 I/O 28-41428.3 Parameter passing with * 28-42128.4 Dynamic memory 27-423Examples:  programs using C's stdio functions (printf, sscanf, etc.).

    29 Moving on with SDL 29-42429.1 A basic program in SDL 29-42429.2 Compling 29-42629.3 Further resources 29-427

    AppendicesA. Setting up SDL and SSDL 427B. Operators 429C. ASCII codes 429D. Escape sequences 430E. Basic C standard library 432F. SSDL reference 435

    Index 448

    References 455