کتاب Learn C++ by Example: Covers versions 11 to 23 (C++ را با مثال بیاموزید: نسخههای 11 تا 23 را پوشش میدهد) به سرعت با بهروزرسانیها و تغییرات C++ تطبیق پیدا کرده و تضمین میکند که با ادامه تغییر و رشد زبان، جلوتر خواهید ماند.
با ایجاد مثلث پاسکال، یک بازی مسابقهای با توابع اعضای ویژه جدید، ساخت یک ماشین اسلات با بستههای پارامتر و موارد دیگر، در مورد بردارها و محدودهها یاد خواهید گرفت.
در ادامه مقدمهای از را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Learn C++ by Example:
من برای اولین بار در دهه ۱۹۹۰ هنگامی که از C++ برای تقلید کد برای یک دستگاه تعبیه شده در رایانه شخصی خواسته شد یک تجزیهکننده C++ بنویسم با C++ مواجه شدم.
من در آن زمان فقط C را میشناختم، بنابراین این یک غسل تعمید از طریق آتش بود. C++ عمدتاً C با کلاسها بود، مانند بسیاری از نسخههای اولیه C++. به مرور زمان بیشتر یاد گرفتم و عاشق زبان شدم. به عنوان یک عضو قدیمی ACCU (https://accu.org/)، داوطلب شدم تا سردبیر مجله Overload آن شوم، به این معنی که باید هر ماه یک سرمقاله بنویسم، و همچنین مردم را به نوشتن و جمعبندی تشویق میکنم.
بازخورد از تیم بررسی Overload ترکیبی از مقالات تازه واردان و متخصصان باتجربه دارد که به طور عمیق C++ و همچنین موضوعات برنامهنویسی گستردهتر را پوشش میدهد، بنابراین به عنوان ویرایشگر، باید سعی کنم همه چیز را به روز نگه دارم. این یک چالش است و من هنوز چیزهای زیادی برای یادگیری دارم.
بیشتر بخوانید: کتاب Modern C++ Programming Cookbook
من از ++C برای پروژههای شخصی استفاده کردهام، و شما میتوانید بسیاری از صحبتهای من را در YouTube پیدا کنید. من همچنین به طور حرفهای از ++C، عمدتاً در بانکهای سرمایهگذاری و سایر مؤسسات مالی استفاده کردهام.
من زبانهای دیگر را نیز میدانم، و اغلب بهعنوان واسطه بین تیمهای کوانت که کتابخانههای C++ را مینویسند و تیمهای فرانتاند که از آنها استفاده میکنند، عمل میکنم. من بسیاری از ریاضیات زیربنایی را که دانشمندان موشکی در کدگذاری خود استفاده میکنند، درک میکنم.
صادقانه بگویم، من فقط با دو دانشمند موشکی کار کردهام، اما شما میتوانید کارهای هوشمندانهای با C++ انجام دهید. بخش مهم این است که بدانید چه کاری انجام میدهید و بدانید که چگونه کد خود را آزمایش کنید.
C++ یک زبان در حال تکامل است، بنابراین من هرگز با تمام تغییرات به روز نخواهم بود. با این حال، آگاهی از چیزی که نمیدانم به این معنی است که میتوانم قسمتهای خاصی را برای تمرین انتخاب کنم. در کتاب Learn C++ by Example، پروژههای کوچک مختلفی را به اشتراک میگذارم که برای کمک به شما در یادگیری انواع ویژگیهای جدیدتر C++ طراحی شدهاند.
در طول سالها، من با افراد زیادی آشنا شدهام که قبلاً C++ را میدانستند، اما برای مدتی از زبان دیگری استفاده کردند و زمانی که به فکر انتخاب مجدد C++ بودند، غرق تعداد ویژگیها و رویکردهای جدید شدند. این ناامیدکننده است که وقت خود را برای یادگیری چیزی صرف کنید و سپس به سختی خود را دوباره بشناسید.
من میخواهم هر کسی را در چنین موقعیتی تشویق کنم تا روی عناصر کلیدی تمرکز کند تا به سرعت بالا برود. امیدوارم این کتاب این نیاز را برطرف کند.
کتاب Learn C++ by Example همه چیزهایی را که از C++۱۱ به بعد تغییر کرده است را پوشش نمیدهد. همانطور که من این کتاب را نوشتم، C++۲۳ نهایی شد، بنابراین من تعدادی از جدیدترین ویژگیها را در زمان نگارش گنجاندهام. ++C به تغییر ادامه خواهد داد، اما داشتن چند پروژه کوچک برای بازی به این معنی است که میتوانید از آنها برای تمرین استفاده کنید، زیرا زبان همچنان در حال تکامل است.
به عنوان مثال، کتاب Learn C++ by Example از کانتینرهای مختلفی استفاده میکند، از std: : vector تا std: : unordered_ map، و موارد دیگر. کانتینرها برای مدت طولانی بخش اساسی C++ بودهاند، اما تغییرات اخیر استفاده از آنها را آسانتر کرده است.
کتاب Learn C++ by Example از انواع ویژگیهای جدید استفاده میکند، بدون اینکه سعی کند کتاب مرجعی برای کل زبان باشد. بخش \”درباره این کتاب\” جزئیات بیشتری را ارائه میدهد.
در مورد کتاب Learn C++ by Example
C++ در طول یک دهه اخیر یا بیشتر تغییر کرده است. برخی از افرادی که قبلاً این زبان را به خوبی میدانستند، ممکن است اکنون از تعداد چیزهای جدیدی که باید یاد بگیرند ناامید شوند. لازم نیست آنقدر سخت باشد. افزایش سرعت در حال حاضر پیگیری را آسانتر میکند زیرا C++ همچنان در حال تغییر و تکامل است.
کتاب Learn C++ by Example بر پروژههای کوچک با استفاده از بخشهای مختلف C++، به جای نمایش کل زبان، تمرکز دارد. در سفر، به جای شخم زدن در هر قسمت از نحو و کتابخانههای استاندارد زبان، با استفاده از مثالهای یک خطی، ایدهها را امتحان کرده و ویژگیهای زبان را یاد خواهید گرفت.
فصل اول کتاب Learn C++ by Example یک مقدمه است و از فصل ۲ تا فصل آخر، پروژهها و بازیهای کوچکی را برای کمک به یادگیری ایجاد خواهید کرد. حتی ممکن است لذت ببرید!
چه کسی باید کتاب Learn C++ by Example را بخواند؟
اگر قبلاً از ++C استفاده کردهاید اما نتوانستهاید با تغییرات اخیر هماهنگ شوید، این کتاب برای شما مناسب است. اگر قبلاً یک متخصص بودید، اما دانش شما تیره و تار شده است، و میخواهید به سرعت بالا برگردید، کتاب Learn C++ by Example به شما کمک خواهد کرد. اگر هرگز متخصص نبودهاید، اما قبلاً از C++ استفاده کردهاید و میخواهید بیشتر بدانید، بهویژه رویکردها و ویژگیهای جدیدتر، این کتاب نیز ارزشمند خواهد بود.
نحوه سازماندهی کتاب Learn C++ by Example: نقشه راه
این کتاب نه فصل دارد. فصل اول مقدمهای را ارائه میدهد و فصلهای باقی مانده بر روی یک پازل یا بازی برای کدنویسی تمرکز دارند. در برخی موارد، ابتدا یک نسخه ساده شده را قبل از بهبود بازی ایجاد میکنیم. در همه موارد، ما بر روی یک یا چند ویژگی اصلی C++ تمرکز میکنیم وایدهها و رویکردهای متنوع دیگری را در راه یاد میگیریم:
فصل ۱ پسزمینهای درباره C++ ارائه میکند، و نشان میدهد که چرا مرتبط و مفید است و برخی تغییرات اخیر را معرفی میکند.
فصل ۲ از یک std: : vector برای ایجاد مثلث پاسکال استفاده میکند. همچنین معنای حرکت را با استفاده از std: : format، ranges و lambdas پوشش میدهد.
فصل ۳ از اعداد تصادفی برای ساخت یک بازی حدس اعداد استفاده میکند. همچنین std: : optional، std: : function و مدیریت ورودی کاربر را معرفی میکند.
فصل 4 از نقاط زمانی و مدت زمان std::chrono برای نوشتن شمارش معکوس استفاده می کند. ما همچنین با literals کاربر آشنا می شویم و در مورد std::ratio می آموزیم.
فصل 5 شامل کلاسهای نوشتن برای ساختن دستهای از ورقها و بازی کارتهای بالاتر یا پایینتر میشود. همچنین شامل enums scoped، std::array، عملگر مقایسه سه طرفه و std::variant میشود.
فصل 6 دوباره از کلاسها استفاده میکند تا برخی از حبابها را از یک کیسه کاغذی جدا کند، این بار وراثت را اصلاح کرده و توابع اعضای ویژه جدید را که اکنون در C++ در دسترس هستند، توضیح میدهد. علاوه بر این، قانون صفر، صفات نوع و اشاره گرهای هوشمند را پوشش میدهد.
فصل 7 از std::map و std::multimap برای ساخت یک بازی پاسخ کوبنده استفاده می کند. این کانتینرها جدید نیستند، اما میبینیم که چگونه از std::pair و std::tuple با اتصالهای ساختاریافته استفاده کنیم، که به ما امکان میدهد نقشهها را به طور منظم جستجو کنیم. علاوه بر این، ما همچنین داده ها را از یک فایل می خوانیم.
فصل 8 از std::unordered_map جدیدتر استفاده میکند و std::hash را برای ساخت یک ماشین ذهنخوان، یا حداقل برنامهای که حدس میزند که آیا سرها یا دنبالهها را بر اساس نتایج قبلی انتخاب میکنید، توضیح میدهد. همچنین نشان می دهد که چگونه می توان دستگاه ذهن خوان را به یک برنامه آموزشی تبدیل کرد.
فصل 9 با بررسی جزئیات بستههای پارامتر و std::visit همه چیز را کامل میکند و به ما نشان میدهد که چگونه یک بازی ماشین اسلات بسازیم. این فصل از کتاب Learn C++ by Example، شما را تشویق میکند تا با الگوریتمهای مختلف، std:: format و lambdas بیشتر تمرین کنید.
با خواندن از فصل اول شروع کنید و سپس کامپایلر انتخابی خود را آماده کنید. شما می توانید فصل ها را به هر ترتیبی بخوانید. با این حال، آنها تا حدی بر روی یکدیگر بنا می کنند، حتی اگر هر یک پروژه ای مستقل ایجاد کنند.
هنگامی که یک ویژگی دوباره استفاده می شود، اولین اشاره علامت گذاری می شود، بنابراین در صورت نیاز می توانید به عقب برگردید. با این حال، خواندن فصلها به ترتیب ممکن است آسانتر باشد، زیرا به تدریج رویکردهای جدیدی را به کارنامه خود اضافه میکنید.
به هر حال تصمیم به خواندن کتاب Learn C++ by Example دارید، توقف کنید و کدی را امتحان کنید. سپس بازی هایی را که ساخته اید بازی کنید یا با پروژه ها بازی کنید. مغز خود را آماده نگه دارید، سؤال بپرسید، آزمایش کنید، و مهمتر از همه، از آن لذت ببرید!
سرفصلهای کتاب Learn C++ by Example:
- inside front cover
- Learn C++ by Example
- Copyright
- dedication
- contents
- Front matter
- 1 Hello again, C++!
- 2 Containers, iterators, and ranges
- 3 Input of strings and numbers
- 4 Time points, duration, and literals
- 5 Creating and using objects and arrays
- 6 Smart pointers and polymorphism
- 7 Associative containers and files
- 8 Unordered maps and coroutines
- 9 Parameter packs and std :: visit
- appendix. Further resources
- index
جهت دانلود کتاب Learn C++ by Example میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.