Beginning C++17: From Novice to Professional, 5th Edition
به کتاب شروع کار با C++ 17 خوش آمدید. این کتاب نسخهی به روز شده و بازنگری شده از کتاب اصلی Ivor Horton به نام شروع کار با ++ANSI C است. زبان ++C از آن زمان به طور قابل توجهی توسعه پیدا و پیشرفت کرده است و این موارد به قدری زیاد شده اند که دیگر امکان آوردن تمامی مطالب ++C به همراه جزئیات آن ها، در یک کتاب امکان پذیر نیست. این کتاب آموزشی، ضروریات زبان ++C و امکانات کتابخانه استاندارد آن را آموزش میدهد که حتی برای نوشتن برنامههای ++C خودتان بیشتر از کافی است. با دانشی که از این کتاب به دست میآورید، شما باید بتوانید عمق و حوزهی تخصص خود در ++C را گسترش دهید.
ما فرض کرده ایم که دانشی از برنامه نویسی ندارید. اگر شما علاقه مند به یادگیری و استعداد فکر کردن منطقی را دارید، مسلط شدن به ++C از آنچه که تصور میکنید سادهتر خواهد بود. با کار کردن بر روی تواناییهای ++C خود، شما زبانی را یاد میگیرید که هم اکنون توسط میلیونها نفر استفاده میشود و امکان این را فراهم میکند که برای هر چیزی برنامه ای توسعه دهید.
زبان ++C خیلی قدرتمند است؛ مسلما از خیلی از زبانهای برنامه نویسی دیگر قدرتمندتر است. بنابراین، درست است، مثل هر ابزار قدرتمند دیگری اگر بدون آموزش صحیح از آن استفاده کنید شما میتوانید باعث ایجاد خسارتهای قابل توجهی شوید. ما معمولا ++C را با چاقوی ارتش سوئیس مقایسه میکنیم: قدیمی، قابل اطمینان، همه کاره، اما به طور بالقوه غافلگیرکننده و پر از نقاط تیزی است که میتواند به شما آسیب برساند. زمانی که کسی کاملا واضح برای شما توضیح میدهد که هر ابزاری را برای کاری خاص استفاده میکنند و به شما اصول ایمنی اولیه کار با چاقو را به شما آموزش میدهد پس شما دیگر به دنبال چاقوی جیبی دیگری نخواهید بود.
زبان سی پلاس پلاس اصلا نیازی به دشوار بودن یا خطرناک بودن ندارد. ++C امروزه بیشتر از آن چیزی که مردم تصور میکنند در دسترس است. این زبان راه زیادی را از زمان تولدش در 40 سال پیش تاکنون پیموده است. در اصل، ما یاد گرفته ایم که چگونه همهی تیغهها و ابزارهای قدرتمندش را در ایمنترین و کارآمدترین حالت به کار بریم. و شاید مهمتر از همه، زبان ++C و کتابخانه استانداردش، برای تسهیل این امر و بر این اساس تکامل یافته اند. در دههی گذشته به طور خاص شاهد حضور چیزی که اکنون با نام ++modern C میشناسیم بوده ایم. ++C مدرن تاکید بر استفاده از ویژگیهای جدیدتر، امنتر و بیان گرتر زبان به همراه بهترین شیوههای تست شده کد نویسی دارد. زمانی که شما یک سری قوانین و تکنیکهای ساده رابدانید و به کار بندید، بیشتر پیچیدگیهای ++C رنگ میبازند. کلید این است که کسی به درستی و به تدریج این مطالب را بیان کند و نه فقط این که بگوید با ++C چه کار میتوانید بکنید بلکه بگوید چه کارهایی باید با ++C انجام دهید و این دقیقا جایی است که این کتاب وارد صحنه میشود.
در آخرین بازنگری این کتاب، ما تمامی مطالب را مطابق با عصر نوین برنامه نویسی ++C که در آن زندگی میکنیم، بازنویسی کرده ایم. البته که همانند گذشته، ما آموزشمان را به صورت غیر رسمی و تدریجی انجام داده ایم. ما به شما همهی تیغههای درخشان و نکات برنده ای که ++C ارائه میدهد را با استفاده از مثالها و تمرینها نشان میدهیم. ما این اطمینان را به شما میدهیم که شما از روز اول کار با ++C را با استفاده از سبک برنامه نویسی مدرن و امن که کارفرمایان فردا از شما انتظار دارند آغاز میکنید.
زبان ++C در این کتاب اشاره به آخرین نسخه سازمان بین المللی استاندارد (ISO) آن دارد، که معمولا از آن به عنوان C++ 17 یاد میشود. همهی چیزهای C++ 17 پوشش داده نشده است چرا که بیشتر الحاقات در مقایسه با نسخههای قبلی زبان برای استفادههای پیشرفته اضافه شده اند. تمامی مثالهای این کتاب را میتوان با استفاده از کامپایلرهای منطبق با C++ 17 که هم اکنون در دسترس هستند کامپایل و اجرا کرد.
What You'll Learn
Define variables and make decisions
Work with arrays and loops, pointers and references, strings, and more
Write your own functions, types, and operators
Discover the essentials of object-oriented programming
Use overloading, inheritance, virtual functions and polymorphism
Write generic function templates and class templates
Get up to date with modern C++ features: auto type declarations, move semantics, lambda expressions, and more
Examine the new additions to C++17
Who This Book Is For
Programmers new to C++ and those who may be looking for a refresh primer on the C++17 programming language in general.
Table of Contents
Chapter 1: Basic Ideas
Chapter 2: Introducing Fundamental Types of Data
Chapter 3: Working with Fundamental Data Types
Chapter 4: Making Decisions
Chapter 5: Arrays and Loops
Chapter 6: Pointers and References
Chapter 7: Working with Strings
Chapter 8: Defining Functions
Chapter 9: Function Templates
Chapter 10: Program Files and Preprocessing Directives
Chapter 11: Defining Your Own Data Types
Chapter 12: Operator Overloading
Chapter 13: Inheritance
Chapter 14: Polymorphism
Chapter 15: Runtime Errors and Exceptions
Chapter 16: Class Templates
Chapter 17: Move Semantics
Chapter 18: First-Class Functions
Chapter 19: Containers and Algorithms