Writing Simpler Cleaner Code with C++ 17 Training Course
C++ 17 (C++17) is the latest version of the C++ programming language. It adds several new "big" language features with the aim of helping programmers write simpler, cleaner and more expressive code.
In this instructor-led, live training, participants will learn about C++ 17's most important new features as they step through the creation of a sample C++ application. Case studies and interactive discussions will be combined with hands-on practice to demonstrate how to get the maximum benefit out of C++ 17. By the end of this course, participants will have the knowledge and practice to make the best use of C++ 17 for writing clearer, simpler, higher-quality C++ code.
Audience
- Intermediate C++ developers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
Course Outline
Introduction
- What's new in C++ 17?
Core Language Updates in C++ 17
Library Updates in C++ 17
C++ 17's Top Features for Writing Simpler, Cleaner Code
Structured Bindings and Decomposition Declarations
Init Statement for if/switch
Inline Variables
Constexpr if
Fold Expressions
Template Argument Deduction for Class Templates
Declaring Non-type Template Parameters with Auto
Summary and Conclusion
Requirements
- Experience with programming in C++
Need help picking the right course?
Writing Simpler Cleaner Code with C++ 17 Training Course - Booking
Writing Simpler Cleaner Code with C++ 17 Training Course - Enquiry
Writing Simpler Cleaner Code with C++ 17 - Consultancy Enquiry
Consultancy Enquiry
Testimonials (2)
Good coverage of the topic
Steven Irrgang - Raytheon Australia
Course - Writing Simpler Cleaner Code with C++ 17
The trainer was very well versed in the subject matter being discussed, he impressed all of us with his knowledge and ability. I believe some of the examples may not have been planned (they were based on questions asked). However, you would never tell, as they were presented as if fully planned. The pace was good, there was plenty of time for questions, and the Trainer did really well in terms of interacting with those being trained.
Martin Fowell - Raytheon Australia
Course - Writing Simpler Cleaner Code with C++ 17
Related Courses
Advanced C++
35 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at developers who wish to use advanced C++ programming techniques to develop complex, secure, and high-performance systems and applications.
By the end of this training, participants will be able to:
- Set up a development environment that includes all C++ libraries, packages and frameworks.
- Understand the features, components, and basic elements of C++.
- Create complex C++ applications using advanced programming techniques.
- Learn how to write readable, fast, and secure code in C++.
- Know the common security pitfalls in C++ language and how to mitigate them.
- Implement test strategies for code quality and security control.
- Use the diagnostics and debugging tools in C++ development.
C++ for Modeling Quantitative Finance
49 HoursDeep C++ training to cover quantitative methods modeling and introduce a huge project for the trainees to have real hands-on experience with C++ for Quants
C/C++ Secure Coding
21 HoursThis three day course covers the basics of securing the C/C++ code against the malicious users who may exploit many vulnerabilities in the code with memory management and input handling, the course cover the principals of writing secure code.
C++ for Embedded Systems
21 HoursIs C++ suitable for embedded systems such as microcontrollers and real-time-operating-systems?
Should object-oriented-programming be used in microcontrollers?
Is C++ too far removed from the hardware to be efficient?
This instructor-led, live training addresses these questions and demonstrates through discussion and practice how C++ can be used to develop embedded systems with code that is accurate, readable, and efficient. Participants put theory into practice through the creation of a sample embedded application in C++.
By the end of this training, participants will be able to:
- Understand the principles of object-oriented modelling, embedded software programming and real-time programming
- Produce code for embedded systems that is small, fast and safe
- Avoid code bloat from templates, exceptions, and other language features
- Understand the issues related to using C++ in safety-critical and real-time systems
- Debug a C++ program on a target device
Audience
- Developers
- Designers
Format of the course
- Part lecture, part discussion, exercises and heavy hands-on practice
C++ 11 Programming
14 HoursThis is a 2 day course aimed at C++ programmers who are interested in applying the new C++11 standard in their industry. It is particularly useful for financial applications developers covering all new features with coding examples to be executed within the lab
C++17 – a new language standard
14 HoursC++, QT, ZeroMQ and Protocol Buffers
35 HoursThis instructor-led, live training in Botswana (online or onsite) provides introductory coverage of C++, the Qt GUI framework, and various communication technologies such as ZeroMQ and Protocol Buffers that can be used for writing distributed applications.
By the end of this training, participants will have the necessary knowledge and practice to write and compile an application using C++, Qt and gcc on Linux Centos 6/7. Participants will also integrate asynchronous messaging capabilities using Zero MQ and Protocol Buffers.
Using C++ in Embedded Systems - Applying C++11/C++14
21 HoursThis training intends to introduce C++ as the common extension of C when applying object-oriented embedded system development. Since C++ encloses C, this training takes us from C to C++ in a natural way, and looks under the hood of how C++ is implemented. This is especially valuable to comprehend when applying C++ in an embedded resource limited environment. The C++ standard has recently been undergoing a major revision, a.k.a. as C++11, and a new one is on its way, C++14. This course addresses subjects brought in with these revisions that are especially useful like high performance memory management, concurrency making use of a multicore environment, and bare-metal close to the hardware programming.
GOAL/BENEFITS
The major objective of this class is that you shall be able to use C++ in a “correct way”.
- Introduce C++ as an object oriented language alternative in an embedded system context
- Show the similarities ‑ and differences ‑ with the C language
- Comprehend different memory management strategies – especially the move semantics introduced with C++11
- Look under the hood and understand what different paradigms in C++ leads to in machine code
- Use templates to achieve type safe high order abstractions for bare-metal close to the hardware programming – memory mapped I/O as well as interrupts – especially the variadic templates introduced with C++11
- Provide some useful design patterns especially applicable in an embedded context
- A few exercises in order to practice some concepts
AUDIENCE/PARTICIPANTS
This training is aimed C++- programmers who intend to start using C++ in an embedded system context.
PREVIOUS KNOWLEDGE
The course requires basic knowledge in C++ programming, corresponding to our trainings ”C++ – Level 1” and ”C++ Level 2 – Introducing C++11”.
PRACTICAL EXERCISES
During the training you will practice the presented concepts in a number of exercises. We will use the open and free integrated development environment from Eclipse
Functional Programming with C++
14 HoursThis instructor-led, live training in Botswana (online or onsite) is aimed at web developers who wish to functional program with C++
By the end of this training, participants will be able to:
- Use functional programming solutions to improve the performance of web applications.
- Avoid data mutation and side effects with functional programming.
- Create web applications in a functional programming style.
Advanced C++ Software Design
35 HoursThis is an advanced C++ training course focusing on object-oriented (OO) software development and design with the C++ programming language.
Object Oriented Programming with C++
7 HoursIn this course, participants will learn C++ concepts and programming skills.
Programming in C++
35 HoursThe course presents a comprehensive object-oriented language C++ and its use of simple examples. These are the standard mechanisms and library
Qt Programming
21 HoursThis instructor-led, live training in Botswana provides in-depth coverage of Qt and its modules.
By the end of this training, participants will have the necessary knowledge and practice to develop their own C++ application using Qt.
Unreal Engine 4
21 HoursThis instructor-led, live training in Botswana covers the fundamentals of game development with Unreal Engine 4 while giving participants the chance to create their own sample game.