4. Run-time language support
C standard library
String and I/O streams
Framework of containers and algorithms
Support for numerical computations
Support for concurrent programming
Utilities to support meta programming
Smart pointers for resource management
Special-purpose containers
6. 01. #include <string>
02. #include <list>
03.
04. std::string s {"Four legs Good; two legs Baaad!"};
05. std::list<std::string> slogans {"War is peace",
06. "Freedom is Slavery", "Ignorance isStrength"};
01. // make the standard string facilities accessible
02. #include <string>
03.
04. // make std names available without std:: prefix
05. using namespace std;
06.
07. // OK: string is std::string
08. string s {"C++ is a general–purpose programming language"};
ما از این ویدیو وارد فصل چهارم کتاب the c++ programming language شدیم. تو فصل چهارم کتابخونه ی استاندارد شامل Containerها و الگوریتم ها رو بررسی خواهیم کرد.
در این ویدیو یه معرفی کلی در مورد standard library یا کتابخونه استاندارد خواهم کرد و در آخر هدر فایل های پر کاربرد در کتابخونه استاندارد رو معرفی می کنم.
در تمام زبانهای برنامه نویسی کتابخونه هایی وجود دارند که برنامه نویس با استفاده از اونا کار توسعه ی برنامه های خودش رو انجام میده. این کتابخونه ها کمک می کنن که برنامه نویس از اول مجبور نشه همه چیز رو بنویسه. زمانی که شما یه کامپایلر یا IDEی C++ رو نصب می کنید به همراهش کتابخونه استاندارد هم نصب میشه. هر پیاده سازی کامل از ISO C++ باید این کتابخونه ها رو داشته باشه
String برای کار بار رشته ها. IO stream برای کار با ورودی و خروجی های استاندارد. Containerهای پر کاربرد و الگوریتم های پر کاربرد و عمومی.
در ویدیو های آینده هر کدون از این قسمت ها توضیح داده خواهند شد.
اما کتابخونه استاندارد خودش به چند قسمت تقسیم میشه:
Run-time language support مثل Allocation و type informationهای مورد نیاز زمان اجرا.
کتابخونه استاندارد C البته با کمی تغیرات که باعث بهبودش میشه و violationها رو کمتر می کنه.
String و I/O stream ها بطوری که کاراکتر ست های سیستم های مختلف رو support کنه.
Containerهای پر استفاده مثل Vector و map و همینطور الگوریتم های پر کاربرد که باید با ساختمان داده های ارائه شده برای Containerها سازگار باشه.
توابع و ساختمان داده های مورد استفاده برای محاسبات عددی و ریاضی
پشتیبانی از برنامه نویسی همروند مثل threadها و lookها
امکانات مورد نیاز برای template meta programming
Smart pointerها مثل unique_ptr و shared_ptr برای مدیریت منابع
و در نهایت یه سری containerهای خاص منظوره مثل arrayو bitsetو tuple و غیره
قواعد و استانداردی که کتابخونه استاندارد باید رعایت کنه و کلاسها و امکانات اون ملزم به رعایت اونا هستند به این شرح هستند.
باید به صورتی باشه که به برنامه نویسی به زبان C++ کمک کنه و امکاناتی که در تمامی برنامه هایی که قراره با C++ نوشته بشه استفاده می شن و کاربرد دارن رو فراهم کنه.
باید یه general form ارائه بده به صورتی که overhead یا سربار اون نسبت به نسخه های ساده تر همون کتابخونه که افراد دیگه ای نوشتن هم خیلی کم باشه
و در آخر باید یادگیری کتابخونه استاندارد تا حد امکان راحت باشه و استفاده کردن از امکاناتش هم باید آسون باشه، به نحوی که پیچیدگیهای درونی اون از دید کاربر مخفی بمونه
کتابخونه استاندارد تمامی ساختمان داده های پایه ای و اساسی رو به همراه الگوریتم هایی که روی اونا استفاده می شه رو فراهم کرده.
تمامی امکانات کتابخونه استاندارد در header فایل های استانداردی هم قرار دارند.
توی این مثال با include کردن string و list در خطوط اول و دوم امکانات این کتابخونه ها در دسترس ما قرار میگیره. کتابخونه استاندارد در یک namespace به نام std قرار داره. در نتیجه برای استفاده کردن از امکانات اون باید از پیشوند std:: استفاده کرد.
برای مخفف نویسی میشه بعد از include کردن کتابخونه با استفاده از using به کامپایلر بگیم که می خوایم از امکاناتی که داخل فضای نام std هست استفاده کنیم و از اون به بعد دیگه std:: رو ننویسیم و کارمون راحت تر میشه.
برای استفاده کردن و کامپایل شدن برنامه ها حتما باید کتابخونه ی مناسب رو include کرد.
توی این اسلاید پر کاربرد ترین هدر فایل های مورد استفاده در C++ رو میبینید. مثلا الگوریتم دارای الگوریتم های پر کاربرد و عمومی برای کار با بقیه قسمتهای کتابخونست ویا وکتور و map و لیست و string شامل data structure هاییه که تقریبا توی تمام برنامه های سی پلاس پلاس استفاده میشن و غیره.
کتابخونه های زبان c با پیشوند c شروع می شن مثل cmath یا cstring و غیره.
لیست کامل رو می تونید توی اینترنت سرچ کنید یا اینکه کتابهایی که در مورد کتابخونه استاندارد هستند رو مطالعه کنید.
در این ویدیو وارد فصل چهارم کتاب شدیم که کتابخونه استاندارد رو معرفی می کنه. قواعد و استاندارد هایی که ISO برای اضافه کردن امکانات جدید گذاشته رو هم اشاره کردیم و سرآیند های مهم رو معرفی کردیم.