توضیحات
Initialization in C++ is a hot topic! The internet is full of discussions about best practices, and there are even funny memes on that subject. The situation is not surprising, as there are more than a dozen ways to initialize a simple integer value, complex rules for the auto-type deduction, data members, and object lifetime nuances.
And here comes the book.
Throughout this text, you will learn practical options to initialize various categories of variables and data members in Modern C++. More specifically, this text teaches multiple types of initialization, constructors, non-static data member initialization, inline variables, designated initializers, and more. Additionally, youll see the changes and new techniques from C++11 to C++20 and lots of examples to round out your understanding.
Learn C++ from the perspective of C++ Initialization!
The plan is to explain most (if not all) parts of initialization, learn lots of excellent C++ techniques, and see what happens under the hood.
The goal of this book is to equip you with the following knowledge:
Explain rules about object initialization, including regular variables, data members, and non-local objects.
How to implement special member functions (constructors, destructors, copy/move operations) and when they are helpful.
How to efficiently initialize non-static data members using C++11 features like non-static data member initialization, inheriting, and delegating constructors.
How to streamline working with static variables and static data members with inline variables from C++17.
How to work with container-like members, non-copyable data members (like `const` data members) or move-able only data members, or even lambdas.
What is an aggregate, and how to create such objects with designated initializers from C++20.
The book contains 14 chapters in the following structure:
Chapters 1 to 5 create a foundation for the rest of the book. They cover basic initialization rules, constructors, destructors, and the basics of data members.
Chapter 6 is a short quiz on constructors. You can check your knowledge from the first ‘part’ of the book.
Chapter 7 on Type deduction – auto, decltype, AAA and more.
Chapter 8 describes Non-static Data Member Initialization (NSDMI), a powerful feature from C++11 that improves how we work with data members. At the end of the chapter, you can solve a few exercises.
Chapter 9 discusses how to initialize container-like data members.
Chapter 10 contains information about non-regular data members and how to handle them in a class. You’ll learn about const data members, unique_ptr as a data member, and references.
Chapter 11 describes static non-local variables, static objects, various storage duration options, inline variables from C++17, and constinit from C++20.
Chapter 12 moves to C++20 and describes Designated Initializers, a handy feature based on similar thing from the C language.
Chapter 13 shows various techniques like passing strings into constructors, strong typing, CRTP class counter,Copy and swap idiom, self-registering types more.
Chapter 14 is the final quiz with questions from the whole book.
And there are two appendices:
Appendix A – a handy guide about rules for compiler-generated special member functions.
Appendix B – answers to quizzes and exercises.
Most sections are completed, but I’m still working on filling two chapters and polishing the quality.
Who is this book for?
The book is intended for beginner/intermediate C++ programmers who want to learn various aspects of initialization in Modern C++ (from C++11 to C++20).
You should know at least some of the basics of creating and using custom classes.
This text is also helpful for experienced programmers who know older C++ standards and want to move into C++17/C++20.
————————————————————–
ترجمه ماشینی :
مقداردهی اولیه در C++ یک موضوع داغ است! اینترنت مملو از بحثها در مورد بهترین شیوهها است، و حتی الگوهای رفتاری خندهداری در این زمینه وجود دارد. این وضعیت تعجب آور نیست، زیرا بیش از دهها روش برای مقداردهی صحیح ساده، قوانین پیچیده برای کسر نوع خودکار، اعضای داده و تفاوتهای ظریف در طول عمر شی وجود دارد. و اینجا کتاب می آید. در طول این متن، گزینه های عملی برای مقداردهی اولیه دسته های مختلف متغیرها و اعضای داده در مدرن C++ را خواهید آموخت. به طور خاص، این متن انواع مختلفی از مقداردهی اولیه، سازنده ها، مقدار دهی اولیه اعضای داده غیراستاتیک، متغیرهای درون خطی، مقداردهی اولیه تعیین شده و موارد دیگر را آموزش می دهد. علاوه بر این، تغییرات و تکنیک های جدید را از C++11 تا C++20 و مثال های زیادی برای تکمیل درک خود خواهید دید. C++ را از منظر C++ Initialization بیاموزید! برنامه این است که بیشتر (اگر نه همه) بخشهای اولیه را توضیح دهیم، بسیاری از تکنیکهای عالی C++ را یاد بگیریم و ببینیم که در زیر هود چه اتفاقی میافتد. هدف این کتاب تجهیز شما به دانش زیر است: قوانین مربوط به مقداردهی اولیه شی، از جمله متغیرهای منظم، اعضای داده و اشیاء غیر محلی را توضیح دهید. نحوه پیاده سازی توابع ویژه اعضا (سازنده ها، تخریب کننده ها، عملیات کپی/انتقال) و زمانی که آنها مفید هستند. چگونه با استفاده از ویژگیهای C++11 مانند مقدار دهی اولیه اعضای داده غیراستاتیک، ارث بردن و واگذاری سازندهها، اعضای داده غیراستاتیک را به طور موثر مقداردهی اولیه کنیم. چگونه کار با متغیرهای استاتیک و اعضای داده استاتیک را با متغیرهای درون خطی از C++17 ساده کنیم. نحوه کار با اعضای کانتینر مانند، اعضای داده غیرقابل کپی (مانند اعضای داده “const”) یا اعضای داده فقط قابل جابجایی یا حتی لامبداها. جمع چیست و چگونه می توان چنین اشیایی را با مقداردهی اولیه از C++20 ایجاد کرد. کتاب شامل 14 فصل در ساختار زیر است: فصل های 1 تا 5 پایه ای برای بقیه کتاب ایجاد می کند. آنها قوانین اولیه اولیه، سازنده ها، تخریب کننده ها و اصول اولیه اعضای داده را پوشش می دهند. فصل 6 یک مسابقه کوتاه در مورد سازنده ها است. شما می توانید دانش خود را از “قسمت” اول کتاب بررسی کنید. فصل 7 در مورد کسر نوع – خودکار، decltype، AAA و موارد دیگر. فصل 8 راهاندازی اعضای داده غیراستاتیک (NSDMI) را توضیح میدهد، یک ویژگی قدرتمند از C++11 که نحوه کار ما با اعضای داده را بهبود میبخشد. در پایان فصل می توانید چند تمرین را حل کنید. در فصل 9 چگونگی مقداردهی اولیه اعضای داده کانتینر مانند بحث می شود. فصل 10 حاوی اطلاعاتی در مورد اعضای داده غیر عادی و نحوه مدیریت آنها در یک کلاس است. شما در مورد اعضای داده const، unique_ptr به عنوان عضو داده، و مراجع یاد خواهید گرفت. فصل 11 متغیرهای غیر محلی ثابت، اشیاء استاتیک، گزینه های مختلف مدت زمان ذخیره سازی، متغیرهای درون خطی از C++17، و continit از C++20 را توضیح می دهد. فصل 12 به C++20 منتقل می شود و Initializers تعیین شده را توصیف می کند، یک ویژگی مفید بر اساس چیزی مشابه از زبان C. فصل 13 تکنیکهای مختلفی مانند ارسال رشتهها به سازندهها، تایپ قوی، شمارنده کلاس CRTP، اصطلاح کپی و مبادله، انواع دیگر ثبت نام خود را نشان میدهد. فصل چهاردهم مسابقه نهایی با سوالاتی از کل کتاب است. و دو ضمیمه وجود دارد: ضمیمه A – یک راهنمای مفید در مورد قوانین برای توابع عضو ویژه تولید شده توسط کامپایلر. ضمیمه B – پاسخ به آزمون ها و تمرینات. بیشتر بخشها تکمیل شدهاند، اما من همچنان روی پر کردن دو فصل و صیقل دادن کیفیت کار میکنم. این کتاب مال کیه؟ این کتاب برای برنامه نویسان C++ مبتدی/متوسط در نظر گرفته شده است که می خواهند جنبه های مختلف مقداردهی اولیه را در C++ مدرن (از C++11 تا C++20) یاد بگیرند. شما باید حداقل برخی از اصول ایجاد و استفاده از کلاس های سفارشی را بدانید. این متن همچنین برای برنامه نویسان باتجربه ای مفید است که استانداردهای قدیمی C++ را می دانند و می خواهند به C++17/C++20 بروند.
tag : دانلود کتاب داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ , Download داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ , دانلود داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ , Download C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas Book , داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ دانلود , buy داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ , خرید کتاب داستان راهاندازی C++: راهنمای همه گزینههای اولیهسازی و مناطق مرتبط C++ , دانلود کتاب C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas , کتاب C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas , دانلود C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas , خرید C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas , خرید کتاب C++ Initialization Story: A Guide Through All Initialization Options and Related C++ Areas ,

نقد و بررسیها
هنوز بررسیای ثبت نشده است.