دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 2 نویسندگان: Marius Bancila سری: ISBN (شابک) : 9781800208988 ناشر: Packt سال نشر: 2020 تعداد صفحات: 751 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 4 مگابایت
کلمات کلیدی مربوط به کتاب کتاب آشپزی برنامه نویسی مدرن C++ - زبان اصلی C++ و ویژگی های استاندارد کتابخانه، با بیش از 100 دستور پخت، به روز رسانی به C++20: تقویت c++20 c++17
در صورت تبدیل فایل کتاب Modern C++ Programming Cookbook - Master C++ core language and standard library features, with over 100 recipes, updated to C++20 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب کتاب آشپزی برنامه نویسی مدرن C++ - زبان اصلی C++ و ویژگی های استاندارد کتابخانه، با بیش از 100 دستور پخت، به روز رسانی به C++20 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
یک کتاب دستور العمل عملی برای به دست آوردن درک جامع از پیچیدگی ها و اصول اصلی برنامه نویسی C++ C++ راه درازی را پیموده است تا یکی از پرکاربردترین زبان های همه منظوره باشد که در هسته خود سریع، کارآمد و با کارایی بالا است. نسخه دوم به روز شده کتاب آشپزی برنامه نویسی مدرن C++ به جدیدترین ویژگی های C++20، مانند ماژول ها، مفاهیم، برنامه های اساسی، و موارد اضافه شده به کتابخانه استاندارد، از جمله محدوده ها و قالب بندی متن، می پردازد. این کتاب در قالب دستور العمل های عملی سازماندهی شده است که طیف گسترده ای از مشکلاتی را که توسعه دهندگان مدرن با آن مواجه هستند پوشش می دهد. این کتاب همچنین به جزئیات تمام مفاهیم اصلی در برنامهنویسی مدرن C++، مانند توابع و کلاسها، تکرارکنندهها و الگوریتمها، جریانها و سیستم فایل، threading و همزمانی، اشارهگرهای هوشمند و معناشناسی حرکتی و بسیاری دیگر میپردازد. این به جنبه های عملکرد برنامه نویسی عمیق می رود و به توسعه دهندگان آموزش می دهد که چگونه با کمک بهترین روش ها کد سریع و ناب بنویسند. علاوه بر این، این کتاب الگوهای مفیدی را بررسی میکند و در پیادهسازی بسیاری از اصطلاحات، از جمله pimpl، پارامتر نامگذاری شده، و وکیل مشتری، تکنیکهایی مانند اجتناب از تکرار با الگوی کارخانه را آموزش میدهد. همچنین فصلی به تست واحد اختصاص داده شده است که در آن با سه مورد از پرکاربردترین کتابخانه ها برای C++ آشنا می شوید: Boost.Test، Google Test و Catch2. تا پایان کتاب، شما قادر خواهید بود به طور موثر از ویژگی ها و تکنیک های برنامه نویسی C++11/14/17/20 برای بهبود عملکرد، مقیاس پذیری و کارایی برنامه های خود استفاده کنید. آنچه خواهید آموخت: - * ویژگی های زبان و کتابخانه جدید C++20 و مشکلات حل آنها را درک کنید * در استفاده از پشتیبانی استاندارد برای threading و همزمانی برای کارهای روزانه ماهر شوید * از کتابخانه استاندارد استفاده کنید و با کانتینرها، الگوریتمها و تکرارکنندهها کار کنید * مشکلات جستجوی متن و جایگزینی را با استفاده از عبارات منظم حل کنید * با انواع رشته ها کار کنید و جنبه های مختلف کامپایل را یاد بگیرید * از کتابخانه سیستم فایل برای کار با فایل ها و دایرکتوری ها استفاده کنید * الگوها و اصطلاحات مفید مختلف را پیاده سازی کنید * چارچوب های آزمایشی پرکاربرد برای C++ را کاوش کنید
A pragmatic recipe book for acquiring a comprehensive understanding of the complexities and core fundamentals of C++ programming C++ 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++
Cover Copyright Packt Page Contributors Table of Contents Preface Chapter 1: Learning Modern Core Language Features Using auto whenever possible How to do it... How it works... See also Creating type aliases and alias templates How to do it... How it works... See also Understanding uniform initialization Getting ready How to do it... How it works... There's more... See also Understanding the various forms of non-static member initialization How to do it... How it works... See also Controlling and querying object alignment Getting ready How to do it... How it works... See also Using scoped enumerations How to do it... How it works... See also Using override and final for virtual methods Getting ready How to do it... How it works... See also Using range-based for loops to iterate on a range Getting ready How to do it... How it works... See also Enabling range-based for loops for custom types Getting ready How to do it... How it works... See also Using explicit constructors and conversion operators to avoid implicit conversion Getting ready How to do it... How it works... See also Using unnamed namespaces instead of static globals Getting ready How to do it... How it works... See also Using inline namespaces for symbol versioning Getting ready How to do it... How it works... See also Using structured bindings to handle multi-return values Getting ready How to do it... How it works... There's more... See also Simplifying code with class template argument deduction How to do it... How it works... See also Chapter 2: Working with Numbers and Strings Converting between numeric and string types Getting ready How to do it... How it works... See also Limits and other properties of numeric types Getting ready How to do it... How it works... See also Generating pseudo-random numbers Getting ready How to do it... How it works... See also Initializing all bits of internal state of a pseudo-random number generator Getting ready How to do it... How it works... See also Creating cooked user-defined literals Getting ready How to do it... How it works... There's more... See also Creating raw user-defined literals Getting ready How to do it... How it works... See also Using raw string literals to avoid escaping characters Getting ready How to do it... How it works... See also Creating a library of string helpers Getting ready How to do it... How it works... See also Verifying the format of a string using regular expressions Getting ready How to do it... How it works... There's more... See also Parsing the content of a string using regular expressions Getting ready How to do it... How it works... See also Replacing the content of a string using regular expressions Getting ready How to do it... How it works... See also Using string_view instead of constant string references Getting ready How to do it... How it works... See also Formatting text with std::format Getting ready How to do it... How it works... See also Using std::format with user-defined types Getting ready How to do it... How it works... See also Chapter 3: Exploring Functions Defaulted and deleted functions Getting started How to do it... How it works... See also Using lambdas with standard algorithms Getting ready How to do it... How it works... See also Using generic and template lambdas Getting started How to do it... How it works... See also Writing a recursive lambda Getting ready How to do it... How it works... See also Writing a function template with a variable number of arguments Getting ready How to do it... How it works... See also Using fold expressions to simplify variadic function templates Getting ready How to do it... How it works... There's more... See also Implementing the higher-order functions map and fold Getting ready How to do it... How it works... There's more... See also Composing functions into a higher-order function Getting ready How to do it... How it works... There's more... See also Uniformly invoking anything callable Getting ready How to do it... How it works... See also Chapter 4: Preprocessing and Compilation Conditionally compiling your source code Getting ready How to do it... How it works... See also Using the indirection pattern for preprocessor stringification and concatenation Getting ready How to do it... How it works... See also Performing compile-time assertion checks with static_assert Getting ready How to do it... How it works... See also Conditionally compiling classes and functions with enable_if Getting ready How to do it... How it works... There's more... See also Selecting branches at compile time with constexpr if Getting ready How to do it... How it works... See also Providing metadata to the compiler with attributes How to do it... How it works... See also Chapter 5: Standard Library Containers, Algorithms, and Iterators Using vector as a default container Getting ready How to do it... How it works... See also Using bitset for fixed-size sequences of bits Getting ready How to do it... How it works... There's more... See also Using vectorfor variable-size sequences of bits Getting ready... How to do it... How it works... There's more... See also Using the bit manipulation utilities Getting ready How to do it… How it works… See also Finding elements in a range Getting ready How to do it... How it works... See also Sorting a range Getting ready How to do it... How it works... See also Initializing a range Getting ready How to do it... How it works... See also Using set operations on a range Getting ready How to do it... How it works... See also Using iterators to insert new elements into a container Getting ready How to do it... How it works... There's more... See also Writing your own random-access iterator Getting ready How to do it... How it works... There's more... See also Container access with non-member functions Getting ready How to do it... How it works... There's more... See also Chapter 6: General-Purpose Utilities Expressing time intervals with chrono::duration Getting ready How to do it... How it works... There's more... See also Working with calendars Getting ready How to do it… How it works… There's more… See also Converting times between time zones Getting ready How to do it… How it works… See also Measuring function execution time with a standard clock Getting ready How to do it... How it works... See also Generating hash values for custom types Getting ready How to do it... How it works... See also Using std::any to store any value Getting ready How to do it... How it works... See also Using std::optional to store optional values Getting ready How to do it... How it works... See also Using std::variant as a type-safe union Getting ready How to do it... How it works... There's more... See also Visiting an std::variant Getting ready How to do it... How it works... See also Using std::span for contiguous sequences of objects Getting ready How to do it… How it works… See also Registering a function to be called when a program exits normally Getting ready How to do it... How it works... See also Using type traits to query properties of types Getting ready How to do it... How it works... There's more... See also Writing your own type traits Getting ready How to do it... How it works... See also Using std::conditional to choose between types Getting ready How to do it... How it works... See also Chapter 7: Working with Files and Streams Reading and writing raw data from/to binary files Getting ready How to do it... How it works... There's more... See also Reading and writing objects from/to binary files Getting ready How to do it... How it works... See also Using localized settings for streams Getting ready How to do it... How it works... See also Using I/O manipulators to control the output of a stream Getting ready How to do it... How it works... See also Using monetary I/O manipulators Getting ready How to do it... How it works... See also Using time I/O manipulators Getting ready How to do it... How it works... See also Working with filesystem paths Getting ready How to do it... How it works... See also Creating, copying, and deleting files and directories Getting ready How to do it... How it works... See also Removing content from a file Getting ready How to do it... How it works... See also Checking the properties of an existing file or directory Getting ready How to do it... How it works... See also Enumerating the content of a directory Getting ready How to do it... How it works... There's more... See also Finding a file Getting ready How to do it... How it works... See also Chapter 8: Leveraging Threading and Concurrency Working with threads Getting ready How to do it... How it works... See also Synchronizing access to shared data with mutexes and locks Getting ready How to do it... How it works... See also Avoiding using recursive mutexes Getting ready How to do it... How it works... See also Handling exceptions from thread functions Getting ready How to do it... How it works... See also Sending notifications between threads Getting ready How to do it... How it works... See also Using promises and futures to return values from threads Getting ready How to do it... How it works... There's more... See also Executing functions asynchronously Getting ready How to do it... How it works... See also Using atomic types Getting ready How to do it... How it works... See also Implementing parallel map and fold with threads Getting ready How to do it... How it works... See also Implementing parallel map and fold with tasks Getting ready How to do it... How it works... There's more... See also Implementing parallel map and fold with standard parallel algorithms Getting ready How to do it... How it works... There's more... See also Using joinable threads and cancellation mechanisms Getting ready How to do it... How it works... See also Using thread synchronization mechanisms Getting ready How to do it... How it works... See also Chapter 9: Robustness and Performance Using exceptions for error handling Getting ready How to do it... How it works... There's more... See also Using noexcept for functions that do not throw exceptions How to do it... How it works... There's more... See also Ensuring constant correctness for a program How to do it... How it works... There's more... See also Creating compile-time constant expressions Getting ready How to do it... How it works... There's more… See also Creating immediate functions How to do it… How it works… See also Performing correct type casts How to do it... How it works... There's more... See also Using unique_ptr to uniquely own a memory resource Getting ready How to do it... How it works... See also Using shared_ptr to share a memory resource Getting ready How to do it... How it works... See also Implementing move semantics Getting ready How to do it... How it works... There's more... See also Consistent comparison with the operator <=> Getting ready How to do it… How it works… See also Chapter 10: Implementing Patterns and Idioms Avoiding repetitive if...else statements in factory patterns Getting ready How to do it... How it works... There's more... See also Implementing the pimpl idiom Getting ready How to do it... How it works... There's more... See also Implementing the named parameter idiom Getting ready How to do it... How it works... See also Separating interfaces and implementations with the non-virtual interface idiom Getting ready How to do it... How it works... See also Handling friendship with the attorney-client idiom Getting ready How to do it... How it works... See also Static polymorphism with the curiously recurring template pattern Getting ready How to do it... How it works... There's more... See also Implementing a thread-safe singleton Getting ready How to do it... How it works... There's more... See also Chapter 11: Exploring Testing Frameworks Getting started with Boost.Test Getting ready How to do it... How it works... There's more... See also Writing and invoking tests with Boost.Test Getting ready How to do it... How it works... See also Asserting with Boost.Test Getting ready How to do it... How it works... See also Using fixtures in Boost.Test Getting ready How to do it... How it works... See also Controlling outputs with Boost.Test Getting ready How to do it... How it works... There's more... See also Getting started with Google Test Getting ready How to do it... How it works... There's more... See also Writing and invoking tests with Google Test Getting ready How to do it... How it works... See also Asserting with Google Test How to do it... How it works... See also Using test fixtures with Google Test Getting ready How to do it... How it works... See also Controlling output with Google Test Getting ready How to do it... How it works... See also Getting started with Catch2 Getting ready How to do it... How it works... There's more... See also Writing and invoking tests with Catch2 How to do it... How it works... See also Asserting with Catch2 Getting ready How to do it... How it works... See also Controlling output with Catch2 Getting ready How to do it… How it works... See also Chapter 12: C++20 Core Features Working with modules Getting ready How to do it... How it works... See also Understanding module partitions Getting ready How to do it... How it works... There's more... See also Specifying requirements on template arguments with concepts Getting ready How to do it... How it works... There's more... See also Using requires expressions and clauses Getting ready How to do it... How it works... See also Iterating over collections with the ranges library Getting ready How to do it... How it works... There's more... See also Creating your own range view Getting ready How to do it... How it works... See also Creating a coroutine task type for asynchronous computations Getting ready How to do it... How it works... There's more... See also Creating a coroutine generator type for sequences of values Getting ready How to do it... How it works... There's more... See also Bibliography Websites Articles and books Other Books You May Enjoy Index