Beginning C++ programming this is the start of your journey into the most powerful language available to the programming public

Modern C++ at your fingertips! About This Book This book gets you started with the exciting world of C++ programming It will enable you to write C++ code that uses the standard library, has a level of object orientation, and uses memory in a safe and effective way It forms the basis of programming a...

Descripción completa

Detalles Bibliográficos
Otros Autores: Grimes, Richard, author (author)
Formato: Libro electrónico
Idioma:Inglés
Publicado: Birmingham, [England] ; Mumbai, [India] : Packt Publishing 2017.
Edición:1st edition
Materias:
Ver en Biblioteca Universitat Ramon Llull:https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009630120906719
Tabla de Contenidos:
  • Cover
  • Credits
  • About the Author
  • About the Reviewer
  • www.PacktPub.com
  • Customer Feedback
  • Table of Contents
  • Preface
  • Chapter 1: Starting with C++
  • What will you find in this chapter?
  • What is C++?
  • Installing Visual C++
  • Setting up
  • Downloading the installation files
  • Installing Visual Studio
  • Registering with Microsoft
  • Examining C++ projects
  • Compilers
  • Linking the code
  • Source files
  • A simple example
  • Creating source files
  • Compiling the code
  • Passing parameters between the command-line and an executable
  • The preprocessor and symbols
  • Defining constants
  • Using macros
  • Using symbols
  • Using pragmas
  • Dependencies
  • Libraries
  • Pre-compiled headers
  • Project structure
  • Managing dependencies
  • Makefiles
  • Writing a simple project
  • The project structure
  • Creating the precompiled header
  • Creating the main file
  • Using input and output streams
  • Using time functions
  • Building the executable
  • Testing the code
  • Changing the project
  • Summary
  • Chapter 2: Understanding Language Features
  • Writing C++
  • Using white space
  • Formatting code
  • Writing statements
  • Working with expressions
  • Using the comma operator
  • Using types and variables
  • Using constants and literals
  • Defining constants
  • Using constant expressions
  • Using enumerations
  • Declaring pointers
  • Using namespaces
  • C++ scoping of variables
  • Using operators
  • Exploring the built-in operators
  • Arithmetic operators
  • Increment and decrement operators
  • Bitwise operators
  • Boolean operators
  • Bitwise shift operators
  • Assignment operators
  • Controlling execution flow
  • Using conditional statements
  • Selecting
  • Looping
  • Looping with iteration
  • Conditional loops
  • Jumping
  • Using C++ language features
  • Summary
  • Chapter 3: Exploring C++ Types
  • Exploring built-in types.
  • Integers
  • Specifying integer literals
  • Using bitset to show bit patterns
  • Determining integer byte order
  • Floating point types
  • Specifying floating point literals
  • Characters and strings
  • Character types
  • Using character macros
  • Specifying character literals
  • Specifying string literals
  • Unicode literals
  • Raw strings
  • String byte order
  • Boolean
  • void
  • Initializers
  • Default values
  • Declarations without a type
  • Storage classes
  • Using type aliases
  • Aggregating data in record types
  • Structures
  • Initializing
  • Structure fields
  • Using structure names
  • Determining alignment
  • Storing data in the same memory with unions
  • Accessing runtime type information
  • Determining type limits
  • Converting between types
  • Type conversions
  • Promoting conversions
  • Narrowing conversions
  • Narrowing to bool
  • Converting signed types
  • Casting
  • Casting away const-ness
  • Casting without runtime checks
  • Casting pointers without runtime checks
  • Casting with runtime checks
  • Casting with list initializer
  • Using C casts
  • Using C++ types
  • Summary
  • Chapter 4: Working with Memory, Arrays, and Pointers
  • Using memory in C++
  • Using C++ pointer syntax
  • Using null pointers
  • Types of memory
  • Pointer arithmetic
  • Using arrays
  • Function parameters
  • Multidimensional arrays
  • Passing multidimensional arrays to functions
  • Using arrays of characters
  • Comparing strings
  • Preventing buffer overruns
  • Using pointers in C++
  • Accessing out of bounds
  • Pointers to deallocated memory
  • Converting pointers
  • Constant pointers
  • Changing the type pointed to
  • Allocating memory in code
  • Allocating individual objects
  • Allocating arrays of objects
  • Handling failed allocations
  • Using other versions of the new operator
  • Memory lifetime
  • The Windows SDK and pointers.
  • Memory and the C++ Standard Library
  • Standard Library arrays
  • Using the stack-based array class
  • Using the dynamically allocated vector class
  • References
  • Constant references
  • Returning references
  • Temporaries and references
  • The rvalue references
  • Ranged for and references
  • Using pointers in practice
  • Creating the project
  • Adding a task object to the list
  • Deleting the task list
  • Iterating the task list
  • Inserting items
  • Summary
  • Chapter 5: Using Functions
  • Defining C++ functions
  • Declaring and defining functions
  • Specifying linkage
  • Inlining
  • Determining the return type
  • Naming the function
  • Function parameters
  • Specifying exceptions
  • Function body
  • Using function parameters
  • Passing Initializer lists
  • Using default parameters
  • Variable number of parameters
  • Initializer lists
  • Argument lists
  • Function features
  • Call stack
  • Specifying calling conventions
  • Using C linkage
  • Specifying how the stack Is maintained
  • Using recursion
  • Overloading functions
  • Functions and scope
  • Deleted functions
  • Passing by value and passing by reference
  • Designing functions
  • Pre- and post-conditions
  • Using invariants
  • Function pointers
  • Remember the parentheses!
  • Declaring function pointers
  • Using function pointers
  • Templated functions
  • Defining templates
  • Using template parameter values
  • Specialized templates
  • Variadic templates
  • Overloaded operators
  • Function objects
  • Introducing lambda expressions
  • Using functions in C++
  • Summary
  • Chapter 6: Classes
  • Writing classes
  • Reviewing structures
  • Defining classes
  • Defining class behavior
  • Using the this pointer
  • Using the scope resolution operator
  • Defining class state
  • Creating objects
  • Construction of objects
  • Defining constructors
  • Delegating constructors
  • Copy constructor.
  • Converting between types
  • Making friends
  • Marking constructors as explicit
  • Destructing objects
  • Assigning objects
  • Move semantics
  • Declaring static members
  • Defining static members
  • Using static and global objects
  • Named constructors
  • Nested classes
  • Accessing const objects
  • Using objects with pointers
  • Getting pointers to object members
  • Operator overloading
  • Defining function classes
  • Defining conversion operators
  • Managing resources
  • Writing wrapper classes
  • Using smart pointers
  • Managing exclusive ownership
  • Sharing ownership
  • Handling dangling pointers
  • Templates
  • Using classes
  • Summary
  • Chapter 7: Introduction to Object-Orientated Programming
  • Inheritance and composition
  • Inheriting from a class
  • Overriding methods and hiding names
  • Using pointers and references
  • Access levels
  • Changing access level through inheritance
  • Inheritance access levels
  • Multiple inheritance
  • Object slicing
  • Introducing polymorphism
  • Virtual methods
  • Virtual method tables
  • Multiple inheritance and virtual method tables
  • Virtual methods, construction, and destruction
  • Containers and virtual methods
  • Friends and inheritance
  • Override and final
  • Virtual inheritance
  • Abstract classes
  • Obtaining type information
  • Smart pointers and virtual methods
  • Interfaces
  • Class relationships
  • Using mixin classes
  • Using polymorphism
  • Summary
  • Chapter 8: Using the Standard Library Containers
  • Working with pairs and tuples
  • Containers
  • Sequence containers
  • List
  • Forward list
  • Vector
  • Deque
  • Associative containers
  • Maps and multimaps
  • Sets and multisets
  • Unordered containers
  • Special purpose containers
  • Using iterators
  • Input and output iterators
  • Stream iterators
  • Using iterators with the C Standard Library
  • Algorithms
  • Iteration of items.
  • Getting information
  • Comparing containers
  • Changing Items
  • Finding Items
  • Sorting items
  • Using the numeric libraries
  • Compile time arithmetic
  • Complex numbers
  • Using the Standard Library
  • Summary
  • Chapter 9: Using Strings
  • Using the string class as a container
  • Getting information about a string
  • Altering strings
  • Searching strings
  • Internationalization
  • Using facets
  • Strings and numbers
  • Converting strings to numbers
  • Converting numbers to strings
  • Using stream classes
  • Outputting floating point numbers
  • Outputting integers
  • Outputting time and money
  • Converting numbers to strings using streams
  • Reading numbers from strings using streams
  • Using regular expressions
  • Defining regular expressions
  • Standard Library classes
  • Matching expressions
  • Using iterators
  • Replacing strings
  • Using strings
  • Creating the project
  • Processing header subitems
  • Summary
  • Chapter 10: Diagnostics and Debugging
  • Preparing your code
  • Invariants and conditions
  • Conditional compilation
  • Using pragmas
  • Adding informational messages
  • Compiler switches for debugging
  • Pre-processor symbols
  • Producing diagnostic messages
  • Trace messages with the C runtime
  • Tracing messages with Windows
  • Using asserts
  • Application termination
  • Error values
  • Obtaining message descriptions
  • Using the Message Compiler
  • C++ exceptions
  • Exception specifications
  • C++ exception syntax
  • Standard exception classes
  • Catching exceptions by type
  • Function try blocks
  • System errors
  • Nested exceptions
  • Structured Exception Handling
  • Compiler exception switches
  • Mixing C++ and SEH exception handling
  • Writing exception-safe classes
  • Summary
  • Index.