|
Showing 1 - 6 of
6 matches in All Departments
Understand how to use modern C++ templates for writing
maintainable, robust, and fast software Key Features Grasp the
fundamentals of and learn to write effective C++ templates Get up
to speed with the latest C++20 template features such as
constraints and concepts Explore different patterns and idioms to
integrate templates in your program design Book DescriptionLearn
how the metaprogramming technique enables you to create data
structures and functions that allow computation to happen at
compile time. With this book, you'll realize how templates help you
avoid writing duplicate code and are key to creating generic
libraries, such as the standard library or Boost, that can be used
in a multitude of programs. The introductory chapters of this book
will give you insights into the fundamentals of templates and
metaprogramming. You'll then move on to practice writing complex
templates and exploring advanced concepts such as template
recursion, template argument deduction, forwarding references, type
traits, and conditional compilation. Along the way, you'll learn
how to write variadic templates and how to provide requirements to
the template arguments with C++20 constraints and concepts.
Finally, you'll apply your knowledge of C++ metaprogramming
templates to implement various metaprogramming patterns and
techniques. By the end of this book, you'll have learned how to
write effective templates and implement metaprogramming in your
everyday programming journey. What you will learn Understand the
syntax for all types of templates Discover how specialization and
instantiation works Get to grips with template argument deduction
and forwarding references Write variadic templates with ease Become
familiar with type traits and conditional compilation Restrict
template arguments in C++20 with constraints and concepts Implement
patterns such as CRTP, mixins, and tag dispatching Who this book is
forThis book is for beginner-to-intermediate C++ developers who
want to learn about template metaprogramming as well as advanced
C++ developers looking to get up to speed with the new C++20
features related to templates and the the various idioms and
patterns. Basic C++ coding experience is necessary to get started
with this book.
A pragmatic recipe book for acquiring a comprehensive understanding
of the complexities and core fundamentals of C++ programming Key
Features Explore the latest language and library features of C++20
such as modules, coroutines, concepts, and ranges Shed new light on
the core concepts in C++ programming, including functions,
algorithms, threading, and concurrency, through practical
self-contained recipes Leverage C++ features like smart pointers,
move semantics, constexpr, and more for increased robustness and
performance Book DescriptionC++ has come a long way to be one of
the most widely used general-purpose languages that is fast,
efficient, and high-performance at its core. The updated second
edition of Modern C++ Programming Cookbook addresses the latest
features of C++20, such as modules, concepts, coroutines, and the
many additions to the standard library, including ranges and text
formatting. The book is organized in the form of practical recipes
covering a wide range of problems faced by modern developers. The
book also delves into the details of all the core concepts in
modern C++ programming, such as functions and classes, iterators
and algorithms, streams and the file system, threading and
concurrency, smart pointers and move semantics, and many others. It
goes into the performance aspects of programming in depth, teaching
developers how to write fast and lean code with the help of best
practices. Furthermore, the book explores useful patterns and
delves into the implementation of many idioms, including pimpl,
named parameter, and attorney-client, teaching techniques such as
avoiding repetition with the factory pattern. There is also a
chapter dedicated to unit testing, where you are introduced to
three of the most widely used libraries for C++: Boost.Test, Google
Test, and Catch2. By the end of the book, you will be able to
effectively leverage the features and techniques of C++11/14/17/20
programming to enhance the performance, scalability, and efficiency
of your applications. What you will learn Understand the new C++20
language and library features and the problems they solve Become
skilled at using the standard support for threading and concurrency
for daily tasks Leverage the standard library and work with
containers, algorithms, and iterators Solve text searching and
replacement problems using regular expressions Work with different
types of strings and learn the various aspects of compilation Take
advantage of the file system library to work with files and
directories Implement various useful patterns and idioms Explore
the widely used testing frameworks for C++ Who this book is forThe
book is designed for entry- or medium-level C++ programmers who
have a basic knowledge of C++ and want to master the language and
become prolific modern C++ developers. Experienced C++ programmers
can leverage this book to strengthen their command of C++ and find
a good reference to many language and library features of
C++11/14/17/20.
Get started with C# and strengthen your knowledge of core
programming concepts such as procedural, object-oriented, generic,
functional, and asynchronous programming along with the latest
features of C# 8 Key Features Learn the fundamentals of C# with the
help of easy-to-follow examples and explanations Leverage the
latest features of C# 8, including nullable reference types,
pattern matching enhancements, and asynchronous streams Explore
object-oriented programming, functional programming, and
multithreading concepts Book DescriptionThe C# programming language
is often developers' primary choice for creating a wide range of
applications for desktop, cloud, and mobile. In nearly two decades
of its existence, C# has evolved from a general-purpose,
object-oriented language to a multi-paradigm language with
impressive features. This book will take you through C# from the
ground up in a step-by-step manner. You'll start with the building
blocks of C#, which include basic data types, variables, strings,
arrays, operators, control statements, and loops. Once comfortable
with the basics, you'll then progress to learning object-oriented
programming concepts such as classes and structures, objects,
interfaces, and abstraction. Generics, functional programming,
dynamic, and asynchronous programming are covered in detail. This
book also takes you through regular expressions, reflection, memory
management, pattern matching, exceptions, and many other advanced
topics. As you advance, you'll explore the .NET Core 3 framework
and learn how to use the dotnet command-line interface (CLI),
consume NuGet packages, develop for Linux, and migrate apps built
with .NET Framework. Finally, you'll understand how to run unit
tests with the Microsoft unit testing frameworks available in
Visual Studio. By the end of this book, you'll be well-versed with
the essentials of the C# language and be ready to start creating
apps with it. What you will learn Get to grips with all the new
features of C# 8 Discover how to use attributes and reflection to
build extendable applications Utilize LINQ to uniformly query
various sources of data Use files and streams and serialize data to
JSON and XML Write asynchronous code with the async-await pattern
Employ .NET Core tools to create, compile, and publish your
applications Create unit tests with Visual Studio and the Microsoft
unit testing frameworks Who this book is forIf you have little
experience in coding or C# and want to learn the essentials of C#
programming to develop powerful programming techniques, this book
is for you. It will also help aspiring programmers to write scripts
or programs to accomplish specific tasks.
Create apps in C++ and leverage its latest features using modern
programming techniques. Key Features Develop strong C++ skills to
build a variety of applications Explore features of C++17, such as
containers, algorithms, and threads Grasp the standard support for
threading and concurrency and use them in basic daily tasks Book
DescriptionC++ is one of the most widely used programming
languages. It is fast, flexible, and used to solve many programming
problems. This Learning Path gives you an in-depth and hands-on
experience of working with C++, using the latest recipes and
understanding most recent developments. You will explore C++
programming constructs by learning about language structures,
functions, and classes, which will help you identify the execution
flow through code. You will also understand the importance of the
C++ standard library as well as memory allocation for writing
better and faster programs. Modern C++: Efficient and Scalable
Application Development deals with the challenges faced with
advanced C++ programming. You will work through advanced topics
such as multithreading, networking, concurrency, lambda
expressions, and many more recipes. By the end of this Learning
Path, you will have all the skills to become a master C++
programmer. This Learning Path includes content from the following
Packt products: Beginning C++ Programming by Richard Grimes Modern
C++ Programming Cookbook by Marius Bancila The Modern C++ Challenge
by Marius Bancila What you will learn Become familiar with the
structure of C++ projects Identify the main structures in the
language: functions and classes Learn to debug your programs
Leverage C++ features to obtain increased robustness and
performance Explore functions and callable objects with a focus on
modern features Serialize and deserialize JSON and XML data Create
client-server applications that communicate over TCP/IP Use design
patterns to solve real-world problems Who this book is forThis
Learning Path is designed for developers who want to gain a solid
foundation in C++. The desire to learn how to code in C++ is all
you need to get started with this Learning Path
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
DescriptionC++ 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 forThis book will appeal to
C++ developers of all levels. There's a challenge inside for
everyone.
Over 100 recipes to help you overcome your difficulties with C++
programming and gain a deeper understanding of the working of
modern C++ About This Book * Explore the most important language
and library features of C++17, including containers, algorithms,
regular expressions, threads, and more, * Get going with unit
testing frameworks Boost.Test, Google Test and Catch, * Extend your
C++ knowledge and take your development skills to new heights by
making your applications fast, robust, and scalable. Who This Book
Is For If you want to overcome difficult phases of development with
C++ and leverage its features using modern programming practices,
then this book is for you. The book is designed for both
experienced C++ programmers as well as people with strong knowledge
of OOP concepts. What You Will Learn * Get to know about the new
core language features and the problems they were intended to solve
* Understand the standard support for threading and concurrency and
know how to put them on work for daily basic tasks * Leverage C++'s
features to get increased robustness and performance * Explore the
widely-used testing frameworks for C++ and implement various useful
patterns and idioms * Work with various types of strings and look
at the various aspects of compilation * Explore functions and
callable objects with a focus on modern features * Leverage the
standard library and work with containers, algorithms, and
iterators * Use regular expressions for find and replace string
operations * Take advantage of the new filesystem library to work
with files and directories * Use the new utility additions to the
standard library to solve common problems developers encounter
including string_view, any , optional and variant types In Detail
C++ is one of the most widely used programming languages. Fast,
efficient, and flexible, it is used to solve many problems. The
latest versions of C++ have seen programmers change the way they
code, giving up on the old-fashioned C-style programming and
adopting modern C++ instead. Beginning with the modern language
features, each recipe addresses a specific problem, with a
discussion that explains the solution and offers insight into how
it works. You will learn major concepts about the core programming
language as well as common tasks faced while building a wide
variety of software. You will learn about concepts such as
concurrency, performance, meta-programming, lambda expressions,
regular expressions, testing, and many more in the form of recipes.
These recipes will ensure you can make your applications robust and
fast. By the end of the book, you will understand the newer aspects
of C++11/14/17 and will be able to overcome tasks that are
time-consuming or would break your stride while developing. Style
and approach This book follows a recipe-based approach, with
examples that will empower you to implement the core programming
language features and explore the newer aspects of C++.
|
|