کتاب C++ Memory Management: Write leaner and safer C++ code using proven memory-management techniques (مدیریت حافظه در C++: نوشتن کدهای C++ بهینهتر و ایمنتر با استفاده از تکنیکهای مدیریت حافظه اثبات شده) به بررسی تکنیکهای مدیریت حافظه در زبان C++ میپردازد و هدف آن آموزش نویسندگان نرمافزار است تا کدهایی بهینهتر، ایمنتر و با کیفیت بالاتر بنویسند.
این کتاب به شیوههای مختلفی چون استفاده بهینه از نمایشهای پویا و مدیریت دستی حافظه، همچنین تکنیکهای مدرن مانند استفاده از اشارهگرهای هوشمند و الگوهای طراحی میپردازد. با تمرکز بر نکات عملی و مثالهای واقعی، نویسندگان را قادر میسازد تا خطاهای رایج در مدیریت حافظه را شناسایی و از آنها اجتناب کنند، در نتیجه برنامههایی مقاوم و کارآمدتر ایجاد کنند.
در ادامه مقدمهای از کتاب The Future of Sales را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب C++ Memory Management:
برنامهها بهطور منظم مجبور به تخصیص و مدیریت حافظه هستند، مهم نیست که به چه زبان برنامهنویسی نوشته شده باشند. با این حال، چرایی و چگونگی انجام این کار به زبان و حوزه کاربرد بستگی دارد: سیستمهای بیدرنگ، سیستمهای تعبیهشده، بازیها و برنامههای کاربردی دسکتاپ معمولی همگی نیازها و محدودیتهای متفاوتی دارند، و هیچ رویکرد واحد و جهانی برای همه مشکلات وجود ندارد.
کتاب C++ Memory Management نشان میدهد که چگونه ++C مدرن به برنامهنویسان اجازه میدهد برنامههای سادهتر و ایمنتری بنویسند، اما همچنین چگونه این زبان امکان کنترل مکانیسمهای تخصیص حافظه را فراهم میکند و اطمینان میدهد که برنامهها محدودیتهای خود را رعایت میکنند.
شما با شروع از مفاهیم اساسی زبان در مورد طول عمر اشیاء و سازماندهی حافظه، یاد خواهید گرفت که چگونه ظروف و تخصیصدهندههای خود را بنویسید و رفتار عملگرهای تخصیص را مطابق با نیازهای خود تطبیق دهید. بسته به نیازهای خود، میتوانید برنامههایی بسازید که کوچکتر، سریعتر، قابل پیشبینیتر و ایمنتر باشند.
کتاب C++ Memory Management برای چه کسانی است؟
این کتاب برای افرادی نوشته شده است که تجربه برنامهنویسی دارند و از برنامهنویسی سطح بالا و پایین لذت میبرند. داشتن تجربه قبلی در برنامهنویسی جنریک و برنامهنویسی همزمان منجر به تجربه خواندن لذتبخشتری خواهد شد.
به طور خاص، کتاب C++ Memory Management برای شما نوشته شده است اگر (الف) فکر میکنید مدیریت حافظه در ++C دشوار است اما مایلید نگاهی تازه به آن بیندازید، (ب) میخواهید کنترل بهتری بر نحوه مدیریت حافظه توسط برنامههای خود داشته باشید، یا (ج) میخواهید برنامههایتان کوچکتر، سریعتر و ایمنتر باشند.
اگر پیشینه ++C دارید، مطمئناً میتوانید از این کتاب بهرهمند شوید، اما همچنین اگر معمولاً به زبانهای دیگر برنامهنویسی میکنید و میخواهید ببینید ++C چه امکاناتی را در اختیار شما قرار میدهد.
کتاب C++ Memory Management برای هر برنامهنویسی مفید خواهد بود، اما اگر در محیطهای محدود (مانند سیستمهای تعبیهشده یا کنسولهای بازی) یا در سایر حوزههای کاربردی که نیاز به کنترل دقیق بر مکانیسمهای تخصیص منابع دارید، برنامهنویسی میکنید، ممکن است آن را به ویژه مفید بیابید. چه کسی میداند، شاید حتی از آن لذت ببرید!
مطالب کتاب C++ Memory Management چیست؟
فصل 1، اشیاء، اشارهگرها و ارجاعها، مفاهیم اساسی مدل شی در زبان ++C را مورد بحث قرار میدهد و واژگان اساسی مشترکی را در اختیار ما قرار میدهد.
فصل 2، نکاتی که باید مراقب آنها باشید، به برخی از جنبههای پیچیده ++C میپردازد، با بررسی دقیقتر مانورهای برنامهنویسی سطح پایین که میتوانند ما را به دردسر بیندازند؛ ما بررسی خواهیم کرد که اینها چه نوع مشکلاتی میتوانند ایجاد کنند.
فصل 3، تبدیل نوع و تعیینکنندههای cv، ابزارهای موجود برای تطبیق سیستم نوع با نیازهای ما را بررسی میکند و در مورد نحوه استفاده معقول از این ابزارهای گاهی اوقات تیز بحث میکند.
فصل 4، استفاده از مخربها، به این جنبه مهم ++C میپردازد که امکان نوشتن اشیایی را فراهم میکند که مسئول مدیریت منابع به طور کلی و حافظه به طور خاص هستند.
فصل 5 کتاب C++ Memory Management، استفاده از اشارهگرهای هوشمند استاندارد، نگاهی به چگونگی بهرهمندی ما از این بخش مهم برنامهنویسی ++C معاصر دارد که مسئولیت حافظه را در سیستم نوع ثبت میکند.
فصل 6، نوشتن اشارهگرهای هوشمند، به روشهای نوشتن نسخههای دستساز اشارهگرهای هوشمند استاندارد و همچنین نحوه طراحی اشارهگرهای هوشمند خود برای پوشش دادن حوزههایی که هنوز توسط کتابخانه استاندارد ارائه نشدهاند، میپردازد.
فصل 7، سربارگذاری عملگرهای تخصیص حافظه، برخی از روشهای مختلفی را نشان میدهد که میتوانیم نسخههای خودمان از عملگرهای تخصیص حافظه را ارائه دهیم و توضیح میدهد که چرا این کار میتواند ایده خوبی باشد.
فصل 8، نوشتن یک آشکارساز نشت حافظه ساده، مهارتهای جدید مدیریت حافظه ما را برای نوشتن یک ابزار کارآمد (اگرچه ساده) برای تشخیص نشت حافظه به روشی که اساساً برای کد کاربر شفاف است، به کار میگیرد.
فصل 9، مکانیسمهای تخصیص غیرمعمول، به بررسی برخی از کاربردها (و سربارگذاریها) غیرمعمول عملگرهای تخصیص حافظه استاندارد میپردازد، از جمله نسخههای غیر پرتابکننده و سایر مواردی که حافظه “عجیب” را مدیریت میکنند.
فصل 10 کتاب C++ Memory Management، مدیریت حافظه مبتنی بر آرنا و سایر بهینهسازیها، از مهارتهای مدیریت حافظه ما برای اجرای سریعتر برنامهها و رفتار قطعیتر آنها، با بهرهگیری از دانش خاص دامنه یا خاص برنامه، استفاده میکند.
فصل 11، بازپسگیری معوق، روشهایی را بررسی میکند که میتوانیم برنامههایی بنویسیم که بهطور خودکار اشیاء تخصیصیافته پویا را در لحظات انتخابی در طول اجرای برنامه بازپس میگیرند.
فصل 12، نوشتن ظروف جنریک با مدیریت حافظه صریح، توضیح میدهد که چگونه دو ظرف جنریک کارآمد بنویسیم که خودشان حافظه را مدیریت میکنند و به بررسی ایمنی در برابر استثناها و مصالحههای پیچیدگی این عمل میپردازد.
فصل 13، نوشتن ظروف جنریک با مدیریت حافظه ضمنی، ظروف نوشته شده در فصل قبل کتاب C++ Memory Management، را دوباره بررسی میکند تا تأثیرات انتقال از رویکرد مدیریت حافظه صریح به رویکرد ضمنی که به اشارهگرهای هوشمند متکی است را ببیند.
فصل 14، نوشتن ظروف جنریک با پشتیبانی از تخصیصدهنده، ظروف دستساز ما را دوباره بررسی میکند تا ببیند چگونه مدیریت حافظه میتواند از طریق تخصیصدهندهها سفارشی شود، و تخصیصدهندهها را از قبل از ++C11 تا تخصیصدهندههای معاصر و همچنین تخصیصدهندههای PMR پوشش میدهد.
فصل 15 کتاب C++ Memory Management، مسائل معاصر، به آینده نزدیک مینگرد و برخی از ویژگیهای اخیر (در زمان نگارش کتاب) ++C مربوط به مدیریت حافظه و همچنین برخی از افزودنیهای جالب پیشنهادی به زبان در ++C26 و ++C29 را بررسی میکند.
پیوست: نکاتی که باید بدانید، برخی از پیشینههای فنی را ارائه میدهد که میتواند به شما در بهرهمندی هرچه بیشتر از این کتاب کمک کند اما ممکن است دانش عمومی نباشد. در صورت نیاز به آن مراجعه کنید، آنجا برای شماست!
سرفصلهای کتاب C++ Memory Management:
- Cover
- Untitled
- Foreword
- Contributors
- Table of Contents
- Preface
- Part 1: Memory in C++
- Chapter 1: Objects, Pointers, and References
- Chapter 2: Things to be Careful With
- Chapter 3: Casts and cv-qualifications
- Part 2: Implicit Memory Management Techniques
- Chapter 4: Using Destructors
- Chapter 5: Using Standard Smart Pointers
- Chapter 6: Writing Smart Pointers
- Part 3: Taking Control (of Memory Management Mechanisms)
- Chapter 7: Overloading Memory Allocation Operators
- Chapter 8: Writing a Naïve Leak Detector
- Chapter 9: Atypical Allocation Mechanisms
- Chapter 10: Arena-Based Memory Management and Other Optimizations
- Chapter 11: Deferred Reclamation
- Part 4: Writing Generic Containers (and a Bit More)
- Chapter 12: Writing Generic Containers with Explicit Memory Management
- Chapter 13: Writing Generic Containers with Implicit Memory Management
- Chapter 14: Writing Generic Containers with Allocator Support
- Chapter 15: Contemporary Issues
- Annexure: Things You Should Know
- Index
- Other Books You May Enjoy
جهت دانلود کتاب C++ Memory Management میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.