کتاب Modern C++ Programming Cookbook, 3rd Edition: Master modern C++ including the latest features of C++23 with 140+ practical recipes (کتاب راهنمای برنامهنویسی مدرن C++، ویرایش سوم: تسلط بر C++ مدرن شامل آخرین ویژگیهای C++23 با بیش از 140 دستور العمل کاربردی) به جدیدترین ویژگیهای C++23 مانند کتابخانه پشته (stack library)، انواع expected و mdspan، بافرهای span، بهبودهای کتابخانه قالببندی (formatting library) و بهروزرسانیهای کتابخانه دامنه (ranges) میپردازد.
همچنین به موضوعات بیشتری از C++20 که قبلاً پوشش داده نشدهاند، مانند جریانهای خروجی همگام (sync output streams) و source_location، میپردازد. این کتاب به صورت مجموعه دستورالعملهای کاربردی سازماندهی شده است که طیف وسیعی از مشکلات دنیای واقعی را پوشش میدهد.
در ادامه مقدمهای از کتاب Modern C++ Programming Cookbook را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Modern C++ Programming Cookbook:
کتاب حاضر به بسیاری از ویژگیهای جدید اضافه شده در استانداردهای C++۱۱، C++۱۴، C++۱۷، C++۲۰ و C++۲۳ میپردازد. این کتاب به صورت مجموعه دستورالعملهایی سازماندهی شده است که هر کدام یک ویژگی خاص از زبان یا کتابخانه، یا یک مشکل رایج که توسعهدهندگان اغلب با آن مواجه میشوند و راه حل معمولی برای آن با استفاده از C++ مدرن را پوشش میدهد.
شما با مطالعه بیش از ۱۵۰ دستورالعمل در کتاب Modern C++ Programming Cookbook، یاد خواهید گرفت که هم بر ویژگیهای هستهای زبان و هم بر کتابخانههای استاندارد تسلط پیدا کنید؛ از جمله کتابخانههایی برای رشتهها، مخزنها، الگوریتمها، تکرارگرها، جریانها، عبارات منظم، نخها، سیستم فایل، عملیات اتمی، ابزارهای کمکی و دامنهها.
ویرایش سوم کتاب Modern C++ Programming Cookbook چند ماه به طول انجامید و در این مدت کار روی استاندارد C++۲۳ تکمیل شد. با این حال، در زمان نگارش این مقدمه، استاندارد هنوز تأیید نشده است و امسال (۲۰۲۴) منتشر خواهد شد.
بیش از ۳۰ دستورالعمل جدید یا به روز شده در نسخههای دوم و سوم، ویژگیهای C++۲۰ را پوشش میدهند، از جمله ماژولها، مفاهیم، روالهای تو در تو، دامنهها، نخها و مکانیزمهای همگامسازی، قالببندی متن، تقویمها و مناطق زمانی، توابع فوری، عملگر مقایسه سه جانبه و کلاس جدید std:: span.
بیشتر بخوانید: کتاب Beginning C
تقریباً ۲۰ دستورالعمل جدید یا به روز شده در این ویرایش سوم، ویژگیهای C++۲۳ را پوشش میدهند، از جمله کلاس std:: expected، کلاس std:: mdspan، کتابخانه stacktrace، بافر span، عملگر زیرنویس چندبعدی و الحاقات به کتابخانه قالببندی متن.
تمام دستورالعملهای کتاب Modern C++ Programming Cookbook شامل نمونههای کد است که به شما نشان میدهد چگونه از یک ویژگی استفاده کنید یا چگونه یک مشکل را حل کنید.
این نمونههای کد با استفاده از Visual Studio ۲۰۲۲ نوشته شدهاند، اما با Clang و GCC نیز کامپایل شدهاند. از آنجایی که پشتیبانی از ویژگیهای مختلف زبان و کتابخانه به تدریج به تمام این کامپایلرها اضافه شده است، توصیه میشود از آخرین نسخه هر کدام برای اطمینان از پشتیبانی از تمام ویژگیهای جدید استفاده کنید.
در زمان نگارش این مقدمه، آخرین نسخهها GCC ۱۴. ۰، Clang ۱۸. ۰ و VC++ ۲۰۲۲ نسخه ۱۴. ۳۷ (از Visual Studio ۲۰۱۹ نسخه ۱۷. ۷) هستند. اگرچه همه این کامپایلرها C++۱۷ را کامل میدانند، پشتیبانی از C++۲۳ از کامپایلری به کامپایلر دیگر متفاوت است. لطفاً برای بررسی پشتیبانی کامپایلر خود از ویژگیهای C++۲۳ به https://en. cppreference.com/w/cpp/compiler_support مراجعه کنید.
کتاب Modern C++ Programming Cookbook برای چه کسانی است:
این کتاب برای همه توسعهدهندگان C++، صرف نظر از سطح تجربه آنها، در نظر گرفته شده است. خواننده معمولی یک توسعه دهنده C++ مبتدی یا متوسط است که میخواهد بر زبان مسلط شود و به یک توسعه دهنده پرکار C++ مدرن تبدیل شود.
توسعهدهندگان C++ با تجربه مرجع خوبی برای بسیاری از ویژگیهای زبان و کتابخانه C++۱۱، C++۱۴، C++۱۷، C++۲۰ و C++۲۳ پیدا خواهند کرد که ممکن است هر از گاهی مفید باشد.
این کتاب از بیش از ۱۵۰ دستورالعمل تشکیل شده است که از ساده تا متوسط و حتی پیشرفته را شامل میشود. با این حال، همه آنها نیاز به دانش قبلی C++ دارند، که شامل توابع، کلاسها، قالبها، فضاهای نام، ماکروها و موارد دیگر میشود.
بنابراین، اگر با این زبان آشنا نیستید، توصیه میشود ابتدا یک کتاب مقدماتی برای آشنایی با جنبههای اصلی بخوانید و سپس این کتاب را ادامه دهید.
کتاب Modern C++ Programming Cookbook چه چیزی را پوشش میدهد:
فصل ۱، یادگیری ویژگیهای هستهای زبان مدرن، به شما در مورد ویژگیهای هستهای زبان مدرن، از جمله استنتاج نوع، مقداردهی یکنواخت، شمارشهای محدوده دار، حلقههای for مبتنی بر دامنه، اتصالات ساختاریافته، استنتاج آرگومان الگوی کلاس و موارد دیگر آموزش میدهد.
فصل ۲، \”کار با اعداد و رشتهها\”، نحوه تبدیل اعداد به رشته و بالعکس، تولید اعداد شبهتصادفی، کار با عبارات باقاعده و انواع مختلف رشته، و همچنین نحوه قالببندی متن با استفاده از کتابخانه قالببندی متن C++۲۰ را توضیح میدهد.
فصل ۳، \”کاوش در توابع\”، به بررسی توابع پیشفرض (defaulted) و حذفشده (deleted)، الگوهای واریادیک (variadic templates)، عبارات لامبدا (lambda expressions)، و توابع مرتبه بالاتر (higher-order functions) میپردازد.
فصل ۴ کتاب Modern C++ Programming Cookbook، \”پیشپردازش و کامپایل\”، به جنبههای مختلف کامپایل مانند چگونگی انجام کامپایل شرطی، تأییدهای زمان کامپایل، تولید کد و راهنمایی کامپایلر با ویژگیها (attributes) میپردازد.
فصل ۵، \”ظرفهای کتابخانه استاندارد، الگوریتمها و تکرارگرها\”، شما را با چندین ظرف (container) استاندارد، الگوریتمهای متعدد و نحوه نوشتن تکرارگر دسترسی تصادفی (random-access iterator) خودتان آشنا میکند.
فصل ۶، \”ابزارهای کاربردی عمومی\”، به بررسی کتابخانه chrono، از جمله پشتیبانی تقویمها و مناطق زمانی C++۲۰، انواع any، optional، variant و span و mdspan، و همچنین ویژگیهای نوع (type traits) میپردازد.
فصل ۷، \”کار با فایلها و جریانها\”، نحوه خواندن و نوشتن داده به/از جریانها (streams)، استفاده از دستکاریکنندههای ورودی/خروجی (I/O manipulators) برای کنترل جریانها و بررسی کتابخانه سیستم فایل (filesystem) را توضیح میدهد.
فصل ۸، \”استفاده از رشتهسازی و همزمانی\”، به شما نحوه کار با رشتهها (threads)، قفلهای متقابل (mutexes)، قفلها (locks)، متغیرهای شرط (condition variables)، وعدهها (promises)، نتایج آینده (futures)، انواع اتمی (atomic types) و همچنین قفلها (latches)، موانع (barriers) و سیگنالدهندهها (semaphores) C++۲۰ را آموزش میدهد.
فصل ۹، \”قابلیت اطمینان و عملکرد\”، بر روی استثنائات (exceptions)، درستی ثابت (constant correctness)، تبدیل نوع (type casts)، اشارهگرهای هوشمند (smart pointers) و انتقال معنایی (move semantics) تمرکز دارد.
فصل ۱۰، \”پیادهسازی الگوها و اصطلاحات\”، الگوها و اصطلاحات مفید مختلفی مانند الگوی pimpl، الگوی واسط غیرمجازی (non-virtual interface idiom)، الگوی الگوی تکرارشونده عجیب (curiously recurring template pattern) و مخلوطسازی (mixins) را پوشش میدهد.
فصل ۱۱ کتاب Modern C++ Programming Cookbook، \”کاوش در چارچوبهای تست\”، شما را با سه تا از چارچوبهای تست پرکاربرد، Boost. Test، Google Test و Catch۲، راهاندازی میکند.
فصل ۱۲، \”ویژگیهای هسته C++۲۰\”، شما را با مهمترین موارد جدید اضافه شده به استاندارد C++۲۰ – ماژولها (modules)، مفاهیم (concepts)، روالهای تو در تو (coroutines) و دامنهها (ranges)، از جمله بهروزرسانیها در C++۲۳، آشنا میکند.
سرفصلهای کتاب Modern C++ Programming Cookbook:
- Preface
- Learning Modern Core Language Features
- Working with Numbers and Strings
- Exploring Functions
- Preprocessing and Compilation
- Standard Library Containers, Algorithms, and Iterators
- General-Purpose Utilities
- Working with Files and Streams
- Leveraging Threading and Concurrency
- Robustness and Performance
- Implementing Patterns and Idioms
- Exploring Testing Frameworks
- C++ 20 Core Features
- Other Books You May Enjoy
- Index
جهت دانلود کتاب Modern C++ Programming Cookbook میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.