C++

C++20 для программистов - Пол Дейтел, Харви Дейтел

2024
C++
русский

 Программисты с опытом работы на других языках высокого уровня смогут на практике освоить современный С++ и «большую четверку» его новых возможностей: диапазоны, концепты, модули и корутины.

 200+ практических примеров реального исходного кода позволят быстро овладеть идиомами современного С++, используя популярные компиляторы: Visual C++®, GNU® g++, Apple® Xcode® и LLVM®/Clang. Знание базы позволит перейти к контейнерам стандартной библиотеки С++ array и vector; функциональному программированию с диапазонами и представлениями C++20; строкам, файлам и регулярным выражениям; объектно-ориентированному программированию с классами, наследованием, динамическим и статическим полиморфизмом; перегрузке операторов, семантике копирования и перемещения, RAII и умным указателям; исключениям и ожидаемым в С++23 контрактам; контейнерам, итераторам и алгоритмам стандартной библиотеки; шаблонам, концептам С++20 и метапрограммированию; модулям С++ 20 и технологии разработки больших программ; конкурентности, параллелизму, параллельным алгоритмам стандартной библиотеки С++17 и С++20 и корутинам С++20.

Перейти >

A Tour of C++. 3 ed - Bjarne Stroustrup

2023
C++
english

 In A Tour of C++, Third Edition, Bjarne Stroustrup provides an overview of ISO C++, C++20, that aims to give experienced programmers a clear understanding of what constitutes modern C++. Featuring carefully crafted examples and practical help in getting started, this revised and updated edition concisely covers most major language features and the major standard-library components needed for effective use.

 Stroustrup presents C++ features in the context of the programming styles they support, such as object-oriented and generic programming. His tour is remarkably comprehensive. Coverage begins with the basics, then ranges widely through more advanced topics, emphasizing newer language features. This edition covers many features that are new in C++20 as implemented by major C++ suppliers, including modules, concepts, coroutines, and ranges. It even introduces some library components in current use that are not scheduled for inclusion in the standard until C++23.

 This authoritative guide does not aim to teach you how to program (for that, see Stroustrup's Programming: Principles and Practice Using C++, Second Edition), nor will it be the only resource you'll need for C++ mastery (for that, see Stroustrup's The C++ Programming Language, Fourth Edition, and recommended online sources). If, however, you are a C or C++ programmer wanting greater familiarity with the current C++ language, or a programmer versed in another language wishing to gain an accurate picture of the nature and benefits of modern C++, you won't find a shorter or simpler introduction.

Перейти >

Методы программирования в задачах и примерах на C/C++ - А. А. Корнев, В. Д. Валединский

2023
C
русский

 Учебное пособие является обобщением опыта преподавания университетского курса «Работа на ЭВМ и программирование» для студентов механикоматематического факультета МГУ имени М. В. Ломоносова и школьного курса «Информатика» в классах при механико-математическом факультете на базе 54-й школы г. Москвы и в математических классах Университетской гимназии. В книге собраны и систематизированы задачи, предлагавшиеся для самостоятельного решения во время семинарских занятий, лабораторных работ, на зачетах и экзаменах.

 Книга предназначена учащимся старших классов с углубленным изучением математики и информатики, студентам высших учебных заведений, осваивающим методы программирования и язык C, а также в помощь преподавателям для проведения практических занятий.

Перейти >

Алгоритмический тренинг. Решения практических задач на Python и С++ - М. К. Иванов

2023
C++
русский

 Опираясь на богатый соревновательный и эвристический опыт, автор предлагает оригинальные реализации классических алгоритмов Computer Science на языках Python и C++. Особое внимание уделено математическим и геометрическим алгоритмам, графовым алгоритмам, структурам данных (в особенности различным деревьям), комбинаторике и работе со строками. Книга поможет заложить и расширить алгоритмическую подготовку, познакомит с эффективными решениями вычислительных задач, а для обучающихся станет настольной. Поможет подготовиться к экзаменам, сертификации, олимпиадам по программированию.

Перейти >

Beginning C++ Compilers - Ademi B. Ospanova, Berik I. Tuleuov

2024
C
english

 This book focuses on how to install C/C++ compilers on Linux and Windows platforms in a timely and efficient way. Installing C/C++ compilers, especially Microsoft compilers, typically takes quite a lot of time because it comes with Microsoft Visual Studio for the vast majority of users. Installing Visual Studio requires usually about 40 GB of disk space and a large amount of RAM, so it is impossible to use weak hardware.

 The authors provide an easy way to deploy Microsoft C/C++ compiler: with no disk space headache and hardware resources lack. The method described saves significant time since software can even be deployed on removable devices, such as flash sticks, in an easy and portable way.

 It is achieved by using Enterprise Windows Driver Kit (EWDK), single big ISO image, which can be mounted as virtual device and used directly without any installation. EWDK contains everything from Visual Studio except IDE. EWDK also allows to use MASM64 (Microsoft Macro-Assembly) and C# compilers.

 With the aid of the MSBuild System, one can compile Visual Studio Projects (.vcxproj) and Solutions (.sln) without even using Visual Studio! Similarly, MinGW compilers can be deployed from 7z/zip archives, simply by unpacking into appropriate location. Both Microsoft C/C++ and MinGW compilers can be used as portable software—an approach that does not require administrative privileges at all.

What you’ll learn

  • Rapid installation of modern Microsoft C/C++ and MinGW compilers.
  • How to prepare reusable and portable Microsoft C/C++ and MinGW compilers suite on removable media (flash stick, CD/DVD).
  • How to use Microsoft C/C++ and MinGW compilers even on old/slow computers without standard installation.
  • How to build under Windows the libraries originally designed for Unix-systems.
  • Learn to run multiple versions of these compilers at the same time.

Who This Book Is For

Reader of all skills who wants to save time and efforts to start to work with C++. Also useful for scientists who are not familiar with software installation.

Перейти >

Memory Thinking for C and C++ Windows Diagnostics - Dmitry Vostokov

2023
C
english

Solid C and C++ knowledge is a must to fully understand Windows diagnostic artifacts such as memory dumps and do diagnostic, forensic, and root cause analysis beyond listing stack traces, DLL, and driver information. This full-color reference book is a part of the Accelerated C & C++ for Windows Diagnostics training course organized by Software Diagnostics Services. The text contains slides, brief notes highlighting particular points, and replicated source code fragments that are easy to copy into your favorite IDE. The book's detailed Table of Contents makes the usual Index redundant.

We hope this reference is helpful for the following audiences:

  • C and C++ developers who want to deepen their knowledge
  • Software engineers developing and maintaining products on Windows platforms
  • Technical support, escalation, DevSecOps, cloud and site reliability engineers dealing with complex software issues
  • Quality assurance engineers who test software on Windows platforms
  • Security and vulnerability researchers, reverse engineers, malware and memory forensics analysts
Перейти >

C++ How to Program - Dr. Harvey M. Deitel, Paul J. Deitel

2024
C++
english

C++ How to Program, 10/e provides a clear, engaging and entertaining introduction to C++11 and C++14 programming with hundreds of fully coded programs and detailed explanations.

At the heart of the book is the Deitel signature live-code approach—we present most concepts in the context of complete working programs with sample executions.

The book is appropriate for introductory college course sequences, based on the curriculum recommendations of the ACM and the IEEE.

Перейти >

Современный C++ безопасное использование - Джон Лакос, Витторио Ромео, Ростислав Хлебников, Алисдар Мередит

2023
C++
русский

 Книга показывает, как эффективно использовать новые и расширенные возможности современных версий языка C++, избегая потенциальных опасностей и ловушек.

 Основываясь на своем многолетнем опыте работы с C++, четыре ведущих специалиста из компании Bloomberg делят функции версий C++на три категории:

  • безопасные - функциональные средства обеспечивают явную пользу, их легко использовать эффективно, а чтобы неправильно применить, нужно постараться;
  • условно безопасные - функциональные средства весьма полезны, но при их использовании существуют потенциальные опасности, избежать которых можно, лишь обладая немалым практическим опытом и запасом знаний;
  • небезопасные - для них характерно особенно низкое соотношение риска и пользы, их легко применить неправильно, поэтому рекомендуется пользоваться им только при чрезвычайных обстоятельствах.

 Авторы используют примеры, полученные из реальных кодовых баз, чтобы объективно проиллюстрировать каждое предлагаемое решение и обратить особое внимание на главные проблемы. В каждом разделе определяются надежные варианты использования, скрытые потенциальные опасности и недостатки конкретного средства языка.

 Издание предназначено опытным разработчикам C++, руководителям проектов и служб, желающих повысить производительность и улучшить качество исходного кода и сопровождения.

Перейти >

Pro Cryptography and Cryptanalysis with C++23. 2 Ed - Marius Iulian Mihailescu, Stefania Loredana Nita

2023
C++
english

 Develop strong skills for writing cryptographic algorithms and security schemes/modules using C++23 and its new features. This book will teach you the right methods for writing advanced cryptographic algorithms, such as elliptic curve cryptography algorithms, lattice-based cryptography, searchable encryption, and homomorphic encryption. You'll also examine internal cryptographic mechanisms and discover common ways in which the algorithms can be implemented and used correctly in practice. 
 The authors explain the mathematical basis of cryptographic algorithms in terms that a programmer can easily understand. They also show how “bad” cryptography can creep in during implementation and what “good” cryptography should look like by comparing advantages and disadvantages based on processing time, execution time, and reliability.

What You Will Learn

  • Discover what modern cryptographic algorithms and methods are used for
  • Design and implement advanced cryptographic mechanisms
  • See how C++23 and its new features are impact the implementation of cryptographic algorithms
  • Practice the basics of public key cryptography, including ECDSA signatures and more
  • See how most of the algorithms can be broken

Who This Book Is For

 Professional programmers, developers, and software engineers who are developing cryptography algorithms and security schemes/modules in C++. Prior C++ programming and IDE experience and some basic experience of cryptography concepts (symmetric and asymmetric) highly recommended.

Перейти >

Hands-On Design Patterns with C++. 2 Ed - Fedor G. Pikus

2023
C++
english

 C++ is a general-purpose programming language designed for efficiency, performance, and flexibility. Design patterns are commonly accepted solutions to well-recognized design problems. In essence, they are a library of reusable components, only for software architecture, and not for a concrete implementation.

 This book helps you focus on the design patterns that naturally adapt to your needs, and on the patterns that uniquely benefit from the features of C++. Armed with the knowledge of these patterns, you'll spend less time searching for solutions to common problems and tackle challenges with the solutions developed from experience. You'll also explore that design patterns are a concise and efficient way to communicate, as patterns are a familiar and recognizable solution to a specific problem and can convey a considerable amount of information with a single line of code.

 By the end of this book, you'll have a deep understanding of how to use design patterns to write maintainable, robust, and reusable software.

What you will learn

  • Recognize the most common design patterns used in C++
  • Understand how to use C++ generic programming to solve common design problems
  • Explore the most powerful C++ idioms, their strengths, and their drawbacks
  • Rediscover how to use popular C++ idioms with generic programming
  • Discover new patterns and idioms made possible by language features of C++17 and C++20
  • Understand the impact of design patterns on the program's performance

Who this book is for

 This book is for experienced C++ developers and programmers who wish to learn about software design patterns and principles and apply them to create robust, reusable, and easily maintainable programs and software systems.

Перейти >

Unreal Engine 5 Game Development with C++ Scripting - Zhen Yu George Li

2023
C++
english

 Unreal Engine is one of the most popular and accessible game engines in the industry, creating multiple job opportunities. Owing to C++ scripting's high performance, advanced algorithms, and engineering maintenance, it has become the industry standard for developing commercial games. However, C++ scripting can be overwhelming for anyone without a programming background. Unreal Engine 5 Game Development with C++ Scripting will help you master C++ and get a head start on your game development journey.

 You’ll start by creating an Unreal Engine C++ project from the shooter template and then move on to building the C++ project and the C++ code inside the Visual Studio editor. You’ll be introduced to the fundamental C++ syntax and essential object-oriented programming concepts. For a holistic understanding of game development, you’ll also uncover various aspects of the game, including character creation, player input and character control, gameplay, collision detection, UI, networking, and packaging a completed multiplayer game.

 By the end of this book, you’ll be well-equipped to create professional, high-quality games using Unreal Engine 5 with C++, and will have built a solid foundation for more advanced C++ programming and game development technologies.

What you will learn

  • Develop coding skills in Microsoft Visual Studio and the Unreal Engine editor
  • Discover C++ programming for Unreal Engine C++ scripting
  • Understand object-oriented programming concepts and C++-specific syntax
  • Explore NPC controls, collisions, interactions, navigation, UI, and the multiplayer mechanism
  • Use the predefined Unreal Engine classes and the programming mechanism
  • Write code to solve practical problems and accomplish tasks
  • Implement solutions and methods used in game development

Who this book is for

 This book is for game designers, artists, software engineers, and students with some experience in using Unreal Engine and looking to explore the enigmatic C++ scripting. Basic experience with the UE editor is expected and blueprint scripting is a must. Familiarity with game concepts such as game level, lights, camera, actor/pawn/character, transformation, animation, and player control will be beneficial.

Перейти >

Multiplayer Game Development with Unreal Engine 5 - Marco Secchi

2023
C++
english

If you’re fascinated by the immersive gaming experiences that enable multiple users to engage in collaborative or competitive gameplay, this Unreal Engine 5 game development book is for you.

In this book, you’ll learn the foundational principles behind multiplayer games. Starting with a sample project, you’ll learn how to set up a networked system and make it work. Once the prototype of the project is functional, you’ll start adding game logic, including obstacles and AI opponents, to heighten the challenges and engagement, offering a captivating experience for players. Next, you’ll learn how to debug and optimize the project, before finally deploying the game build and integrating it with cloud services such as the Epic Online Services system.

By the end of this book, you’ll have the confidence to develop and manage multiplayer experiences using the Unreal Engine environment, taking your newfound programming skills in your upcoming projects.

What you will learn

  • Get to grips with the basics of multiplayer game development
  • Understand the main elements of a networked level
  • Explore Unreal multiplayer features such as replication, RPCs, relevancy, and roles
  • Debug and optimize code for improved game performance
  • Deploy the game on LAN or online platforms
  • Use Epic Online Services to elevate the player experience

Who this book is for

If you are a game programmer, particularly an Unreal Engine developer, with little or no knowledge of video game networking systems and a passion for multiplayer games, this book will help you explore the subject in depth.Developers skilled in other game engines will find this book useful for understanding the principles of the Unreal multiplayer system, however, basic knowledge of Unreal Engine and C++ is strongly recommended.

Перейти >

Introducing Qt 6 - Ben Cöppicus (Coepp)

2022
C++
english

 Get started quickly with Qt, the popular open source C++ framework for building C++-based applications and games. This book will have you building both fully functional desktop and mobile applications in no time, including some simple game applications.

 Introducing Qt 6 begins by guiding you in setting up your tools and environment, and then walks you through the first "baby steps" of Qt framework. Next, you'll learn the basics of how project and app structure are set up using Qt. Then, you’ll begin your first real hands-on projects using Qt, including a task and problem management application and two games.

 As you progress, you can enhance these apps and games using additional Qt components and features. The book then delves into advanced topics in Qt, learning above and beyond what the Qt docs can offer, including local storage, C++ integration, deployment to Windows and Android, custom components and how to work with them.

 Upon completing this book, you'll come away knowing how to build a C++ application from design to deployment, top to bottom. And, you'll have actual application and game examples that you can apply to your own work or hobby.

What You Will Learn

  • Learn to build your first applications and games using Qt 6 framework
  • Design, create, build and deploy your first Qt applications or games as finished products
  • Explore local storage integration in theory and practice
  • Cover deployment on Windows and on Android
  • Integrate with C++ language to leverage additional functionality
  • Dive into Custom Components and how to work with them
  • Explore different project structures and more

Who This Book Is For

Software programmers, developers who are new to C++ or the Qt framework. Some prior programming experience though may be helpful.

Перейти >

Modern Parallel Programming with C++ and Assembly Language - Daniel Kusswurm

2022
english

 Learn the fundamentals of x86 Single instruction multiple data (SIMD) programming using C++ intrinsic functions and x86-64 assembly language. This book emphasizes x86 SIMD programming topics and technologies that are relevant to modern software development in applications which can exploit data level parallelism, important for the processing of big data, large batches of data and related important in data science and much more.

 Modern Parallel Programming with C++ and Assembly Language is an instructional text that explains x86 SIMD programming using both C++ and assembly language. The book’s content and organization are designed to help you quickly understand and exploit the SIMD capabilities of x86 processors. It also contains an abundance of source code that is structured to accelerate learning and comprehension of essential SIMD programming concepts and algorithms.

 After reading this book, you will be able to code performance-optimized AVX, AVX2, and AVX-512 algorithms using either C++ intrinsic functions or x86-64 assembly language.

What You Will Learn

  • Understand the essential details about x86 SIMD architectures and instruction sets including AVX, AVX2, and AVX-512.
  • Master x86 SIMD data types, arithmetic instructions, and data management operations using both integer and floating-point operands.
  • Code performance-enhancing functions and algorithms that fully exploit the SIMD capabilities of a modern x86 processor.
  • Employ C++ intrinsic functions and x86-64 assembly language code to carry out arithmetic calculations using common programming constructs including arrays, matrices, and user-defined data structures.
  • Harness the x86 SIMD instruction sets to significantly accelerate the performance of computationally intense algorithms in applications such as machine learning, image processing, computer graphics, statistics, and matrix arithmetic.
  • Apply leading-edge coding strategies and techniques to optimally exploit the x86 SIMD instruction sets for maximum possible performance.

Who This Book Is For

 Intermediate to advanced programmers/developers in general. Readers of this book should have previous programming experience with modern C++ (i.e., ANSI C++11 or later) and Assembly. Some familiarity with Microsoft’s Visual Studio or the GNU toolchain will be helpful. The target audience for Modern X86 SIMD Programming are experienced software developers, programmers and maybe some hobbyists.

Перейти >

Rust for C++ Programmers - Mustafif Khan

2023
C++
english

 Rust is one of the most loved programming languages among developers. It is rapidly being adopted as the industry moves towards memory-safety systems programming languages. If you want to switch from C/C++ to Rust, this book is for you.

 “Rust for C++ Programmers” is the perfect guide to help you master the Rust programming language. Beginning with its evolution and comparison to C/C++, the book will help you learn how to install and use the powerful Cargo package manager. The book then covers key topics such as bindings and mutability, ownership, conditionals, loops, functions, structs and enums, and more. The book also explains how to handle errors in Rust. Furthermore, the book explores advanced topics such as smart pointers, concurrency, and even building a desktop application using GTK.

 By the end of the book, you will be able to build powerful and resilient apps with Rust.

What you will learn

● Create concurrent programs in Rust using threads.

● Learn how to build a desktop app using GTK.

● Understand how and when (not) to use Unsafe Rust.

● Get familiar with the common error handling patterns in Rust.

● Learn how to build a Desktop app using Tauri.

Who this book is for

This book is for programmers who are familiar with C/C++ and are looking to add Rust to their toolbelt.

Перейти >

Beginning C++23: From Beginner to Pro. 7 Ed - Ivor Horton, Peter Van Weert

2023
C++
english

 Begin your programming journey with C++ , starting with the basics and progressing through step-by-step examples that will help you become a proficient C++ programmer. This book includes new features from the C++23 standard. All you need are Beginning C++23 and any recent C++ compiler and you'll soon be writing real C++ programs.


 There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises.


 This latest edition has been fully updated to the latest version of the language, C++23, and to all conventions and best practices of modern C++. This bookalso introduces elements of the C++ Standard Library that provide essential support for C++23. After completing this book, you will have the knowledge and skills needed to build your first C++ applications.


What You Will Learn

  • Begin programming with the C++23 standard
  • Carry out modular programming in C++
  • Work with arrays and loops, pointers and references, strings, and more
  • Write your own functions, types, and operators
  • Discover the essentials of object-oriented programming
  • Use overloading, inheritance, virtual functions, and polymorphism
  • Write generic function and class templates, and make them safer using concepts
  • Learn the ins and outs of containers, algorithms, and ranges
  • Use auto type declarations, exceptions, move semantics, lambda expressions, and much more

Who This Book Is For

 Programmers new to C++ and those who may be looking for a refresh primer on C++ in general.

Перейти >

Data Parallel C++. 2 Ed - Ben Ashbaugh, James Brodman, James Reinders, John Pennycook, Michael Kinsner, Xinmin Tian

2023
C++
english

 "This book, now in is second edition, is the premier resource to learn SYCL 2020 and is the ONLY book you need to become part of this community." Erik Lindahl, GROMACS and Stockholm University

 Learn how to accelerate C++ programs using data parallelism and SYCL.

 This open access book enables C++ programmers to be at the forefront of this exciting and important development that is helping to push computing to new levels. This updated second edition is full of practical advice, detailed explanations, and code examples to illustrate key topics.

 SYCL enables access to parallel resources in modern accelerated heterogeneous systems. Now, a single C++ application can use any combination of devices–including GPUs, CPUs, FPGAs, and ASICs–that are suitable to the problems at hand.

 This book teaches data-parallel programming using C++ with SYCL and walks through everything needed to program accelerated systems. The book begins by introducing data parallelism and foundational topics for effective use of SYCL. Later chapters cover advanced topics, including error handling, hardware-specific programming, communication and synchronization, and memory model considerations.

 All source code for the examples used in this book is freely available on GitHub. The examples are written in modern SYCL and are regularly updated to ensure compatibility with multiple compilers.

What You Will Learn

  • Accelerate C++ programs using data-parallel programming
  • Use SYCL and C++ compilers that support SYCL
  • Write portable code for accelerators that is vendor and device agnostic
  • Optimize code to improve performance for specific accelerators
  • Be poised to benefit as new accelerators appear from many vendors


Who This Book Is For

 New data-parallel programming and computer programmers interested in data-parallel programming using C++

Перейти >

Экскурсия по C++. 3 изд. - Бьёрн Страуструп

2023
C++
русский

 В третьем издании "Экскурсии по C+", Бьярне Страуструп дает обзор стандарта ISO C++, C++20, цель которого - дать опытным программистам четкое представление о том, что представляет собой современный C++. Это пересмотренное и обновленное издание, содержащее тщательно проработанные примеры и практическую помощь для начала работы, кратко описывает большинство основных языковых возможностей и основные компоненты стандартной библиотеки, необходимые для эффективного использования.


 Страуструп представляет возможности C++ в контексте поддерживаемых ими стилей программирования, таких как объектно-ориентированное и универсальное программирование. Его экскурсия на удивление обширна. Освещение начинается с основ, затем широко распространяется по более продвинутым темам, уделяя особое внимание новым языковым возможностям. В этом издании рассматриваются многие новые функции C++20, реализованные основными поставщиками C++, включая модули, концепции, сопрограммы и диапазоны. В нем даже представлены некоторые используемые в настоящее время библиотечные компоненты, включение которых в стандарт не запланировано до C++23.


 Это авторитетное руководство не ставит своей целью научить вас программировать (об этом читайте в книге Страуструпа "Программирование: принципы и практика использования C++", второе издание), и оно не будет единственным ресурсом, который вам понадобится для овладения C++ (об этом читайте в книге Страуструпа "Язык программирования C++", четвертое издание). Издание и рекомендуемые онлайн-источники). Однако, если вы программист на C или C++, желающий лучше познакомиться с текущим языком C++, или программист, разбирающийся в другом языке, желающий получить точное представление о природе и преимуществах современного C++, вы не найдете более короткого или простого введения.

Перейти >

Программирование встроенных систем на C++17 - Майа Пош

2020
C++
русский

 C++ - превосходный выбор для разработки встроенных систем, особенно с учетом того, что этот язык не добавляет каких-либо излишеств, улучшает удобство сопровождения и предлагает множество преимуществ над прочими языками программирования. Из книги вы узнаете, как можно применять C++ для создания надежных, конкурентоспособных систем, рационально использующих все доступные аппаратные ресурсы. Начиная с простого примера программирования встроенной системы и описания самых свежих функциональных возможностей, введенных стандартом C++17, эта книга демонстрирует все тонкости и нюансы правильного программирования. Вы узнаете, как использовать параллельный режим выполнения, управление памятью и возможности функционального программирования C++ при создании встроенных систем, а также как объединять ваши системы с внешними периферийными устройствами и применять эффективные способы работы с драйверами. В этой книге вы также найдете правила и рекомендации по тестированию и оптимизации кода для улучшения производительности и реализации полезных шаблонов проектирования. Дополнительным преимуществом является подробное описание работы с Qt, широко известной библиотекой графического интерфейса, используемой для создания встроенных систем.


 Прочитав эту книгу, вы укрепите уверенность в том, что язык C++ вполне подходит для программирования встроенных систем.

Перейти >

Test-Driven Development with C++ - Abdul Wahid Tanner

2022
C++
english

 Modern, standard C++ is all that is needed to create a small and practical testing framework that will improve the design of any project. This allows you to think about how the code will be used, which is the first step in designing intuitive interfaces. TDD is a modern balanced software development approach that helps to create maintainable applications, provide modularity in design, and write minimal code that drastically reduces defects. With the help of this book, you'll be able to continue adding value when designs need to change by ensuring that the changes don't break existing tests. In this book, you will use test-driven development (TDD) to gain practical skills by writing a simple testing framework and then using it to drive the design of a logging library. The book will help you enhance your software development skills with test cases. You'll understand how to design and implement test cases. The chapters will also show you how to utilize the TDD approach to be more productive in software development than attempting to code in large unstructured steps. By the end of this book, you'll have gained knowledge of TDD and testing and also built a working logging library with unique features not found in other libraries.

Перейти >

Expert C++. 2 Ed - Araks Tigranyan, John Asatryan, Marcelo Guerra Hahn, Shunguang Wu, Vardan Grigoryan

2023
C++
english

 Welcome to Expert C++! If you are an experienced C++ developer eager to elevate your skills and explore the full potential of C++20, you’ve come to the right place.

 In this expert guide, we have meticulously crafted a learning journey to empower you with advanced programming techniques and practical knowledge that goes beyond traditional object-oriented programming. Whether you aspire to design high-performance applications, work with cutting-edge data structures, or master multithreading and concurrency, this book is your ultimate companion.

 We will take you through the intricacies of designing templates, including the powerful realm of template metaprogramming. Memory management and smart pointers will become your allies as you tackle complex projects with confidence. Delve into the realm of data structures using the Standard Template Library (STL) containers, and then push the boundaries further with advanced data structures in C++. Discover the elegance of functional programming and the intricacies of concurrency and multithreading, all while learning to design concurrent data structures.

 As you progress, we will guide you through the process of creating world-ready applications, incorporating essential design patterns, and understanding networking and security principles. The book’s culmination will be your enlightenment on debugging and testing, followed by a profound exploration of large-scale application design.

 Whether you aspire to develop enterprise-level software or cutting-edge projects, this book is designed to empower you to become a proficient C++ programmer. So, waste no time and embark on this transformative journey

 Happy coding

Who this book is for

 The primary target audience consists of experienced C++ developers who are eager to elevate their skills and create professional-grade applications. Whether you wish to master complex programming concepts, improve application performance, or explore advanced techniques, this book will serve as a valuable resource in your journey.

 The secondary target audience encompasses software engineers and computer science students with an interest in learning advanced C++ programming techniques and discovering real-world applications of the language. By delving into the content of this book, you can expand your knowledge and develop practical expertise in utilizing C++ for various projects and challenges.

 Regardless of your background or experience level, “Expert C++” aims to empower you with valuable insights and practical knowledge, guiding you towards becoming a proficient and capable C++ programmer.

Перейти >

Красивый C++ - Дж. Гай Дэвидсон, Кейт Грегори

2023
C++
русский

 Написание качественного кода на C++ не должно быть трудной задачей. Если разработчик будет следовать рекомендациям, приведенным в C++ Core Guidelines, то он будет писать исключительно надежные, эффективные и прекрасно работающие программы на C++. Но руководство настолько переполнено советами, что порой трудно понять, с чего начать. Начните с "Красивого C++"!

 Опытные программисты Гай Дэвидсон и Кейт Грегори выбрали 30 основных рекомендаций, которые посчитали особенно ценными, и дают подробные практические советы, которые помогут улучшить ваш стиль разработки на C++. Для удобства книга структурирована в точном соответствии с официальным веб-сайтом C++ Core Guidelines.

Перейти >

C++ 20 в деталях - Райнер Гримм

2023
C++
русский

 В этой книге подробно рассказывается о новом стандарте С++20. Для тех, кто незнаком с С++20, приводится краткий обзор, далее рассматриваются ключевые возможности языка. Вы получите представление о ключевых изменениях в ядре языка (концепты и модули), новой библиотеке диапазонов, корутинах, а затем сможете применить теорию на практике, изучив ряд примеров. Книгу можно использовать как справочное руководство и изучать главы в удобном для вас порядке.Издание будет полезно разработчикам, желающим освоить последнюю версию С++, изучить передовые возможности и добавления в язык, а также заглянуть за кулисы разработки новых стандартов языка и узнать, как предлагаются, обсуждаются и утверждаются новые изменения в стандарт С++ и чем вызваны эти изменения.

Перейти >

Qt 6. Разработка оконных приложений на C++ - Николай Анатольевич Прохоренок

2022
C++
русский

 Описываются базовые возможности библиотеки Qt, позволяющей создавать приложения с графическим интерфейсом на языке C++. Книга ориентирована на тех, кто уже знаком с языком программирования C++ и хотел бы научиться разрабатывать оконные приложения. Рассматриваются способы обработки событий, управление свойствами окна, создание формы, а также все основные компоненты (кнопки, текстовые поля, списки, таблицы, меню и др.) и варианты их размещения внутри окна. Книга содержит большое количество практических примеров, помогающих начать разрабатывать приложения с графическим интерфейсом самостоятельно. Она будет полезна в качестве самоучителя для начинающих разработчиков. Читатели, уже имеющие опыт, могут использовать ее как удобный справочник.

Перейти >
< 1 2 3 >