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.
Preview in Mapt

Mastering C++ Programming

Jeganathan Swaminathan

1 customer reviews
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.99/m after trial
eBook
$28.00
RRP $39.99
Save 29%
Print + eBook
$49.99
RRP $49.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
$28.00
$49.99
$29.99p/m after trial
RRP $39.99
RRP $49.99
Subscription
eBook
Print + eBook
Start 30 Day Trial

Frequently bought together


Mastering C++ Programming Book Cover
Mastering C++ Programming
$ 39.99
$ 28.00
C++ GUI Programming with QT5 Book Cover
C++ GUI Programming with QT5
$ 35.99
$ 25.20
Buy 2 for $35.00
Save $40.98
Add to Cart
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
 

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
From 1 reviews

Read More Reviews

Recommended for You

C++ Multithreading Cookbook Book Cover
C++ Multithreading Cookbook
$ 29.99
$ 21.00
Python Machine Learning Book Cover
Python Machine Learning
$ 35.99
$ 25.20
Mastering Python Book Cover
Mastering Python
$ 31.99
$ 22.40
Learning Boost C++ Libraries Book Cover
Learning Boost C++ Libraries
$ 39.99
$ 28.00
Boost C++ Application Development Cookbook Book Cover
Boost C++ Application Development Cookbook
$ 29.99
$ 21.00
Web Security: Common Vulnerabilities And Their Mitigation [Video] Book Cover
Web Security: Common Vulnerabilities And Their Mitigation [Video]
$ 48.99
$ 41.65