توضیحات :
چیستی عنوان آموزش؟
یکی از قابلیتهای مهم زبان برنامهنویسی C++، استفاده از کتابخانه قالب استاندارد STL (Standard Template Library) است. با استفاده از روشهای آماده این کتابخانه، برنامهنویس میتواند با کدنویسی کمتر، برنامههای پیچیده و با کارایی بالا را پیادهسازی کنند. برای پردازش دادهها و ساختارهای دادهای از الگوریتمها، کلاسها و توابع این کتابخانه استفاده میشود.
از دیگر قابلیتهای این کتابخانه میتوان به ساختار دادههایی مانند بردار (vector)، لیست (list)، صف (queue) و پشته (stack) اشاره کرد.
چرا یاد میگیریم و اهمیت یادگیری آن چیست؟
یک برنامهنویس باید بعد از آشنایی با مفاهیم اولیه زبان مورد استفاده، بتواند از امکانات پیشرفته آن زبان هم استفاده کند. ویژگی STL جهت استانداردسازی به C++ اضافه شد که از بسیاری از خواص پیشرفته C++ استفاده میکند. عملیات داخلی STL تکنیکی است ولی استفاده از آن راحت است. این ویژگی، کلاسها، توابع همه منظوره و قالب را ارائه میدهد تا ساختمان دادههای معروفی مانند آرایه، صف، پشته، لیست و همچنین الگوریتمهای معروفی مانند جستجوی دودویی، مرتبسازی هیپ و… را توسط STL بتوان پیاده سازی کرد.
به علت استفاده از کلاسهای قالب در STL تقریبا از ساختمان دادهها و الگوریتمهای آن برای انواع دادهها میتوان استفاده کرد. برای یادگیری کار با این کتابخانه باید با مفاهیم اشاره گر، مرجع و قالب، آشنا بود که در
آموزش C++ تدریس شده است. مولفههای هسته اصلی STL از کانتینر (Container)، تکرارگر (Iterator) و الگوریتم تشکیل شده است که در کنار هم کار میکنند.
کانتینرها اشیای STL هستند که برای ذخیرهسازی دادهها استفاده میشوند و توسط یک شی کانتینر، میتوان اشیاء را نگهداری کرد. کانتینرها مانند مپ، وکتور، لیست و... می باشند و به کمک توابع موجود در کلاس این کانتینر میتوان اعمالی مانند درج، حذف و ادغام را انجام داد. با وجود این که هر کانتینر اعمال مخصوص به خود را پشتیبانی میکند، توسط الگوریتمهای استاندارد میتوان اعمال پیچیدهتری مانند جستجو و مرتبسازی را انجام داد و توسط تکرار کنندهها که معمولا اشارهگر هستند، میتوان محتویات کانتینرها را پیمایش کرد.
چه چیزی و چگونه یاد میگیریم؟
در این آموزش انواع container ها و الگوریتم ها و iterator ها را در زبان برنامه نویسی ++C بررسی خواهیم کرد