Mastering C++ Programming

Take your C++ coding to the next level by leveraging the latest features and advanced techniques to building high performing, reliable applications.

Mastering C++ Programming

Jeganathan Swaminathan

Take your C++ coding to the next level by leveraging the latest features and advanced techniques to building high performing, reliable applications.
Mapt Subscription
FREE
€29.98/m after trial
eBook
€31.92
RRP €45.58
Save 29%
Print + eBook
€47.99
RRP €47.99
What do I get with a Mapt Pro subscription?
  • Unlimited access to all Packt’s 5,000+ eBooks and Videos
  • Early Access content, Progress Tracking, and Assessments
  • 1 Free eBook or Video to download and keep every month after trial
What do I get with an eBook?
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with Print & eBook?
  • Get a paperback copy of the book delivered to you
  • Download this book in EPUB, PDF, MOBI formats
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
What do I get with a Video?
  • Download this Video course in MP4 format
  • DRM FREE - read and interact with your content when you want, where you want, and how you want
  • Access this title in the Mapt reader
€0.00
€31.92
€47.99
€29.98p/m after trial
RRP €45.58
RRP €47.99
Subscription
eBook
Print + eBook
Start 30 Day Trial
Subscribe and access every Packt eBook & Video.
 
  • 5,000+ eBooks & Videos
  • 50+ New titles a month
  • 1 Free eBook/Video to keep every month
Start Free Trial
 
Preview in Mapt

Book Details

ISBN 139781786461629
Paperback384 pages

Book Description

C++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this book will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the book will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general, and demonstrates the GUI app-development options in C++. You’ll get tips on avoiding memory leaks using smart-pointers. Next, you’ll see how multi-threaded programming can help you achieve concurrency in your applications. Moving on, you’ll get an in-depth understanding of the C++ Standard Template Library. We show you the concepts of implementing TDD and BDD in your C++ programs, and explore template-based generic programming, giving you the expertise to build powerful applications. Finally, we’ll round up with debugging techniques and best practices.By the end of the book, you’ll have an in-depth understanding of the language and its various facets.

Table of Contents

Chapter 1: C++17 Features
C++17 background
What's new in C++17?
Key features in C++17
Summary
Chapter 2: Standard Template Library
The Standard Template Library architecture
Sequence containers
Associative containers
Container adapters
Summary
Chapter 3: Template Programming
Generic programming
Summary
Chapter 4: Smart Pointers
Memory management
Issues with raw pointers
Smart pointers
Summary
Chapter 5: Developing GUI Applications in C++
Qt 
Qt Core
Qt Widgets
Layouts
Signals and slots
Using stacked layout in Qt applications
Summary
Chapter 6: Multithreaded Programming and Inter-Process Communication
Introduction to POSIX pthreads
Creating threads with the pthreads library
Does C++ support threads natively?
How to write a multithreaded application using the native C++ thread feature
Using std::thread in an object-oriented fashion
Synchronizing threads
Concurrency
Summary
Chapter 7: Test-Driven Development
TDD
Common myths and questions around TDD
Unit testing frameworks for C++
Google test framework
TDD in action
Summary
Chapter 8: Behavior-Driven Development
Behavior-driven development
TDD versus BDD
C++ BDD frameworks
The Gherkin language
Installing cucumber-cpp in Ubuntu
Feature file
Spoken languages supported by Gherkin
The recommended cucumber-cpp project folder structure
Writing our first Cucumber test case
Dry running your cucumber test cases
BDD - a test-first development approach
Summary
Chapter 9: Debugging Techniques
Effective debugging
Debugging strategies
Debugging tools
Summary
Chapter 10: Code Smells and Clean Code Practices
Code refactoring
Code smell
What is agile?
SOLID design principle
Code smell
Summary

What You Will Learn

  • Write modular C++ applications in terms of the existing and newly introduced features
  • Identify code-smells, clean up, and refactor legacy C++ applications
  • Leverage the possibilities provided by Cucumber and Google Test/Mock to automate test cases
  • Test frameworks with C++
  • Get acquainted with the new C++17 features
  • Develop GUI applications in C++
  • Build portable cross-platform applications using standard C++ features

Authors

Table of Contents

Chapter 1: C++17 Features
C++17 background
What's new in C++17?
Key features in C++17
Summary
Chapter 2: Standard Template Library
The Standard Template Library architecture
Sequence containers
Associative containers
Container adapters
Summary
Chapter 3: Template Programming
Generic programming
Summary
Chapter 4: Smart Pointers
Memory management
Issues with raw pointers
Smart pointers
Summary
Chapter 5: Developing GUI Applications in C++
Qt 
Qt Core
Qt Widgets
Layouts
Signals and slots
Using stacked layout in Qt applications
Summary
Chapter 6: Multithreaded Programming and Inter-Process Communication
Introduction to POSIX pthreads
Creating threads with the pthreads library
Does C++ support threads natively?
How to write a multithreaded application using the native C++ thread feature
Using std::thread in an object-oriented fashion
Synchronizing threads
Concurrency
Summary
Chapter 7: Test-Driven Development
TDD
Common myths and questions around TDD
Unit testing frameworks for C++
Google test framework
TDD in action
Summary
Chapter 8: Behavior-Driven Development
Behavior-driven development
TDD versus BDD
C++ BDD frameworks
The Gherkin language
Installing cucumber-cpp in Ubuntu
Feature file
Spoken languages supported by Gherkin
The recommended cucumber-cpp project folder structure
Writing our first Cucumber test case
Dry running your cucumber test cases
BDD - a test-first development approach
Summary
Chapter 9: Debugging Techniques
Effective debugging
Debugging strategies
Debugging tools
Summary
Chapter 10: Code Smells and Clean Code Practices
Code refactoring
Code smell
What is agile?
SOLID design principle
Code smell
Summary

Book Details

ISBN 139781786461629
Paperback384 pages
Read More

Read More Reviews

Recommended for You

C++ Multithreading Cookbook Book Cover
C++ Multithreading Cookbook
€ 26.38
€ 18.48
Python Machine Learning Book Cover
Python Machine Learning
€ 39.58
€ 27.72
Mastering Python Book Cover
Mastering Python
€ 34.78
€ 24.36
Learning Boost C++ Libraries Book Cover
Learning Boost C++ Libraries
€ 43.18
€ 30.24
Boost C++ Application Development Cookbook Book Cover
Boost C++ Application Development Cookbook
€ 28.78
€ 20.16
Getting started with Shiny [Video] Book Cover
Getting started with Shiny [Video]
€ 142.78
€ 121.38