Training: Programmeren in C++ - Deel 1: Ga van start met C++
C++
28 uur
Engels (US)

Training: Programmeren in C++ - Deel 1: Ga van start met C++

Snel navigeren naar:

  • Informatie
  • Inhoud
  • Kenmerken
  • Meer informatie
  • Reviews
  • FAQ

Productinformatie

Deze training leert je alles over de fundamentele features van de programmeertaal C++. Je begint met het verkennen van de historische evolutie van C++, om zo een gedetailleerde vergelijking te kunnen maken tussen de klassieke en moderne C++. Hierdoor krijg je een goed begrip van het ontstaan en het nut van de taal. Je gaat in op het compilatieproces en behandelt essentiële onderwerpen zoals variabelen, gegevenstypen, controlestructuren en verwijzingen. De training introduceert ook moderne C++-functies, zoals range-based for loops, het vereenvoudigen van container-iteratie en het verbeteren van de robuustheid van de code.

De training duikt ook in de kritische aspecten van geheugenbeheer door middel van pointers en referenties, en biedt inzicht in geheugentoewijzing, deallocatie en het gebruik van slimme pointers in modern C++. Ten slotte leer je de kunst van het implementeren van functies, inclusief het doorgeven van parameters, standaardargumentwaarden en functie-overbelasting.

Inhoud van de training

Programmeren in C++ - Deel 1: Ga van start met C++

28 uur

Fundamentals of C++: Getting Started

Since its inception about three and a half decades ago, the C++ language has constantly reinvented itself and kept pace with changing times. This constant reinvention has kept C++ relevant for many use cases today. Explore the history of C++ and the difference between classic C++ and modern C++. Discover the compilation process of C++ and the role of the pre-processor, the compiler, and the linker. Look at the variety of compilers available for C++ and the C++ standard library. Finally, learn how to install C++ and write, compile, and run simple C++ programs. You will work with the MSYS2 collection of utilities and familiarize yourself with the VSCode integrated development environment (IDE). By the end of this course, you will have a solid foundation of the basics of C++ and a good sense of why C++ language features evolved the way they did.

Fundamentals of C++: Using Variables & Datatypes

Variables and datatypes are basic building blocks of any programming language. This is especially true for C++, which has a very complex type system. In this course, we will be reintroducing constructs from C and emphasize the differences between variables and datatypes in C++ relative to those in C. Start by considering the difference between the initialization and declaration of a variable. Explore arithmetic, relational, and logical operators and make use of the C++ boolean type. Finally, explore strings in C++ and utilize many of the powerful methods provided by the String class, which are available for use on all string objects. Upon completion, you'll be able to distinguish between variable declaration and initialization, initialize variables using functional, assignment, and braced syntax, and leverage the C++ boolean type and the std::string class.

Fundamentals of C++: Using the auto Keyword, Enums, and I/O Streams

C++ supports many different programming paradigms including object-oriented programming, functional programming, and template programming. As a result, the C++ type system is quite complex and it can get quite complicated to figure out the correct type for a variable Learn how to use the auto keyword to request that the compiler infer the type of a variable from its context. Discover how to use the typeid() function to get a type info object for every variable and to verify that the auto keyword has worked as intended. Next, explore enums and identify the differences between C-style and C++-style enums. Learn about input and output streams, in particular the cin and cout streams used in C++. Finally, discover how to use I/O manipulators to control the appearance of objects on these streams. After comleting this coures, you'll be able to utilize the auto keyword to infer the type of a variable and deploy IO manipulators to correctly format data on input and output streams.

Control Structures in C++: Using Conditional Control Structures

Control structures in C++ are syntactically very similar to those in C, but with some important differences. This course will help you learn to use control structures in C++ and better understand how they differ from those in C. You will start this course by going over the control structures available in C++. You will then move on to working with vectors and iterators over vectors, which are important parts of the standard template library. Finally, you will work with switch statements and learn some tips and tricks related to working with cases based on strings. Upon completion, you'll be able to use variables in the condition of an if-block to restrict its scope, and use switch statements with hash functions and the STL map object to switch based on the values of a string.

Control Structures in C++: Range-based for Loops

One of the many differences between modern C++ and classic C++ is the presence of range-based for loops. These were added to the standard in C++11 and allow for loops to iterate easily over a container and reduce the risk of off-by-one errors. They also eliminate the need for an integer index variable to index into a container. Start this course by reviewing how for loops work to iterate over arrays. Create arrays with different numbers of dimensions and iterate over the dimensions using nested for loops. Discover how to use containers from the standard template library to experiment with maps and vectors. Explore the use of the cbegin(), cend(), rbegin(), rend(), crbegin(), and crend() functions. Finally, use range-based for loops and explore the use of the debugger in this context. You will also note the important differences between value type loop variables in for loops and reference type variables.

Pointers and References in C++: Getting Started with Pointers

As a superset of C, C++ also has support for pointer variable types that point to specific memory locations. While the pointer types function similarly, the terms related to pointer variables have evolved from C to C++ and modern C++, as you will see in this course. Begin this course by creating pointers to values and arrays. You will then move to the use of the nullptr keyword, and see how it differs from the NULL value used in C. Finally, you will create pointers to vectors and maps. After completion of this course, you'll have a solid foundation of using pointers to stack memory locations in C++ and create pointers to vectors and maps.

Pointers and References in C++: Allocating Memory with New & Delete Operators

C++, like C, has powerful support for memory allocation and deallocation. In the world of C, these operations are performed using malloc() and free(), which are not to be used in the C++ world. In classic C++, memory allocation and deallocation are performed using the new and delete operators. You will begin this course by understanding the new and delete keywords, and note how these lead to the invocation of the underlying constructors and destructors on whatever objects are being worked with. In contrast, the C versions, that is, malloc() and free(), do not invoke constructors or destructors. You will then move on to the use of array new and array delete, which is how the new and delete followed by square brackets are referred to. Finally, you will look at the differences between const pointers and pointers to consts.

Pointers and References in C++: Using Smart Pointers in Modern C++

Dynamic memory allocation and deallocation in C are performed using malloc() and free(). In classic C++, dynamic memory allocation and deallocation are performed using new and delete, and array new and array delete. In modern C++, it's smart pointers that take over. Begin this course by examining the idea behind smart pointers. You will then explore the different types of smart pointers, including unique pointers, shared pointers, and weak pointers. Discover why weak pointers are required in some cases to avoid circular references that can cause memory leaks. After completing this course, you'll be able to use smart pointer objects, leverage RAII to use shared, unique, and weak pointers, and avoid circular references using weak pointers.

Pointers and References in C++: Working with References

C++ supports a variable type known as the reference. You can think of references as being easier-to-use, lighter-weight versions of pointers. Begin by getting familiar with the syntax and semantics of references in C++, including the use of the & symbol to denote a reference type. Note some important differences between references and pointers, how references need to be assigned when they are created, how they cannot be reassigned or set to NULL, and how multiple references to the same underlying value are all effectively aliases for that value. Move on to declaring and using variables of reference type. Finally, learn about const references and experiment with different configurations of loops, where the loop variables are references, value types, and const references. Upon course completion, you'll be able to define and initialize variables of reference types, contrast pointers and references, and correctly use const references.

Functions in C++: Using Functions & Parameter Passing

Functions remain an important construct for code modularization and reuse in C++, even though C++ is an object-oriented language. Learn how to use functions in C++, focusing on free functions, and examine the distinction between declaring a function, where you specify the function's signature, return type, and name; defining a function, where you create the body of a function; and invoking the function. Then, explore the semantics of passing parameters by value to C++ functions. Finally, compare pass-by-reference semantics to pass-by-value semantics and investigate the differences. Upon completion of this course, you will be able to use pass-by-value and pass-by-reference semantics in the context of function invocation in C++.

Functions in C++: Using Default Arguments & Function Overloading

C++ allows you as the developer to specify default values for the input arguments into your functions, and supports function overloading. Both of these are powerful techniques for code reuse. Explore how to use default argument values for C++ functions, including important rules that govern such default values. Examine the semantics of return values from functions and learn how to avoid the dangling pointer problem. Discover function overloading, learn how to split the declaration and implementation of a function across header and implementation files, and learn the correct way of importing these header files into code to invoke that function. Upon completion, you'll be able to specify default values for function arguments, overload functions based on input arguments and const, and split functions across .h and .cpp files.

Getting Started with C++

In the Getting Started with C++ lab, you will use C++ to modify strings, manage inputs, create switch statements, implement arrays and allocate memory on Heap.

Final Exam: Getting Started in C++

Final Exam: Getting Started in C++ will test your knowledge and application of the topics presented throughout the Getting Started in C++ track of the Skillsoft Aspire Programming in C++ Journey.

Kenmerken

Docent inbegrepen
Bereidt voor op officieel examen
Engels (US)
28 uur
C++
180 dagen online toegang
HBO

Meer informatie

Doelgroep Softwareontwikkelaar
Voorkennis

Geen formele voorkennis vereist. Basis kennis van programmeren wordt echter aangeraden.

Resultaat

Aan het einde van deze training beschik je over de kennis en vaardigheden die nodig zijn om efficiënte en robuuste C++-code te schrijven. Deze kennis kan jij goed gebruiken als je een carrière in softwareontwikkeling en/of programmeren nastreeft.

Positieve reacties van cursisten

Training: Leidinggeven aan de AI transformatie

Nuttige training. Het bestelproces verliep vlot, ik kon direct beginnen.

- Mike van Manen

Onbeperkt Leren Abonnement

Onbeperkt Leren aangeschaft omdat je veel waar voor je geld krijgt. Ik gebruik het nog maar kort, maar eerste indruk is goed.

- Floor van Dijk

Training: Leidinggeven aan de AI transformatie

Al jaren is icttrainingen.nl onze trouwe partner op het gebied van kennisontwikkeling voor onze IT-ers. Wij zijn blij dat wij door het platform van icttrainingen.nl maatwerk en een groot aanbod aan opleidingen kunnen bieden aan ons personeel.

- Loranne, Teamlead bij Inwork

Hoe gaat het te werk?

1

Training bestellen

Nadat je de training hebt besteld krijg je bevestiging per e-mail.

2

Toegang leerplatform

In de e-mail staat een link waarmee je toegang krijgt tot ons leerplatform.

3

Direct beginnen

Je kunt direct van start. Studeer vanaf nu waar en wanneer jij wilt.

4

Training afronden

Rond de training succesvol af en ontvang van ons een certificaat!

Veelgestelde vragen

Veelgestelde vragen

Op welke manieren kan ik betalen?

Je kunt bij ons betalen met iDEAL, PayPal, Creditcard, Bancontact en op factuur. Betaal je op factuur, dan kun je met de training starten zodra de betaling binnen is.

Hoe lang heb ik toegang tot de training?

Dit verschilt per training, maar meestal 180 dagen. Je kunt dit vinden onder het kopje ‘Kenmerken’.

Waar kan ik terecht als ik vragen heb?

Je kunt onze Learning & Development collega’s tijdens kantoortijden altijd bereiken via support@icttrainingen.nl of telefonisch via 026-8402941.

Background Frame
Background Frame

Onbeperkt leren

Met ons Unlimited concept kun je onbeperkt gebruikmaken van de trainingen op de website voor een vast bedrag per maand.

Bekijk de voordelen

Heb je nog twijfels?

Of gewoon een vraag over de training? Blijf er vooral niet mee zitten. We helpen je graag verder. Daar zijn we voor!

Contactopties