Test your C++ programming skills by solving real-world programming problems covered in the book
Key Features
- Solve a variety of real-world programming and logic problems by leveraging the power of C++17
- Test your skills in using language features, algorithms, data structures, design patterns, and more
- Explore areas such as cryptography, communication, and image handling in C++
Book Description
C++ is one of the most widely-used programming languages and has applications in a variety of fields, such as gaming, GUI programming, and operating systems, to name a few. Through the years, C++ has evolved into (and remains) one of the top choices for software developers worldwide. This book will show you some notable C++ features and how to implement them to meet your application needs. Each problem is unique and doesn't just test your knowledge of the language; it tests your ability to think out of the box and come up with the best solutions. With varying levels of difficulty, you'll be faced with a wide variety of challenges. And in case you're stumped, you don't have to worry: we've got the best solutions to the problems in the book. So are you up for the challenge?
What you will learn
- Serialize and deserialize JSON and XML data
- Perform encryption and signing to facilitate secure communication between parties
- Embed and use SQLite databases in your applications
- Use threads and asynchronous functions to implement generic purpose parallel algorithms
- Compress and decompress files to/from a ZIP archive
- Implement data structures such as circular buffer and priority queue
- Implement general purpose algorithms as well as algorithms that solve specific problems
- Create client-server applications that communicate over TCP/IP
- Consume HTTP REST services
- Use design patterns to solve real-world problems
Who this book is for
This book will appeal to C++ developers of all levels. There's a challenge inside for everyone.
Table of Contents
- Math Problems
- Language Features
- Strings and Regular Expressions
- Streams and Filesystems
- Date and Time
- Algorithms and Data Structures
- Concurrency
- Design Patterns
- Data Serialization
- Archives, Images, and Databases
- Cryptography
- Networking and Services