advertise laitec sharif univercity استخراج بیت کوین با کامپیوتر استخراج بیت کوین با کامپیوتر
سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

سورس پروژه دفترچه تلفن ساده در سی شارپ #c و بانک Access

3000 تومان
دانلود مجموعه 70 پروژه مفید و کاربردی سی شارپ #C

دانلود مجموعه 70 پروژه مفید و کاربردی سی شارپ #C

9500 تومان
دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

دانلود پروژه مدیریت کتابخانه با سی شارپ و SQL سرور

3000 تومان
دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

دانلود پروژه پایانی طراحی وب سایت مخابرات با Asp.net

14000 تومان
دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

دانلود PDF مجموعه 300 نکته جالب برنامه نویسی در سی شارپ #C

3000 تومان

کتابخانه قالب استاندارد STL در زبان سی پلاس پلاس ++C

کتابخانه قالب استانداردSLT از ویژگی های جدید ++C است که کلاس ها و توابع همه منظوره و قالب را ارائه میکند که بسیاری از الگوریتم ها و ساختمان داده های معروف و متداول را پیاده سازی میکنند.
کتابخانه قالب استاندارد STL در زبان سی پلاس پلاس ++C

کتابخانه قالب استاندارد STL  در زبان سی پلاس پلاس ++C

کتابخانه قالب استاندارد Standard Template  Library ، SLT یکی از ویژگی هایی است که اخیرا به زبان برنامه نویسی C++ اضافه شده است. افزودن STL به C++ تلاشی برای استانداردسازی آن بوده است.

STL، کلاس ها و توابع همه منظوره و قالب را ارائه میکند که بسیاری از الگوریتم ها و ساختمان داده های معروف و متداول را پیاده سازی میکنند. همچنین روال هایی را برای دستیابی به آنها ارائه مینماید. چون STL از کلاس های قالب درست شده است، الگوریتم ها و ساختمان داده های موجود در آنها، تقریبا برای تمام انواع داده ها قابل استفاده اند.

STL قطعه پیچیده ای از مهندسی نرم افزار است که از بسیاری از خواص پیشرفته  C++ استفاده میکند. برای درک و کاربرد STL باید فهم درستی از زبان C++ داشته باشید، از جمله اشاره گرها، مراجع و قالب ها. واقعیت این است که شیوه کاربرد قالب ها در STL بسیار پیچیده است.

 

مروری بر STL

گرچه STL یک کتابخانه بزرگ و پیچیده است، ولی اگر با چگونگی ساخت و اجزای تشکیل دهنده آن آشنا باشید به راحتی میتوانید با آن کار کنید.

هسته اصلی کتابخانه قالب استاندارد سه مولفه است : کانتینرها، الگوریتم ها و تکرارگرها. این مولفه ها در کنار یکدیگر کار میکنند تا به بسیاری از مشکلات برنامه نویسی پاسخ دهند.

► کانتینرها : کانتینرها اشیایی هستند که اشیای دیگر را نگهداری میکنند و دارای انواع مختلفی اند. بعنوان مثال کلاس vector یک آرایه پویا بنام deque تعریف میکند که یک صف دو طرفه را ایجاد میکند و list یک لیست پیوندی خطی را ایجاد مینماید. این کانتینر ها را ترتیبی می نامند. علاوه بر کانتینرهای اصلی، کانتینرهای دیگری به نام کانتینرهای وابسته نیز وجود دارند که قادرند براساس کلیدهایی عمل دستیابی را انجام دهند. هر کلاس کانتینر مجموعه ای از توابع را تعریف میکند که بر روی کانتینرها عمل میکنند. بعنوان مثال کانتینر لیست حاوی توابعی است که عمل درج، حذف و ادغام عناصر را انجام میدهند.

► الگوریتم ها : الگوریتم ها بر روی کانتینرها عمل میکنند. از طریق الگوریتم ها میتوان محتویات کانتینرها را دستکاری کرد. قابلیت های آنها شامل ارزش دهی، مرتب سازی، جستوجو، و جابه جایی محتویات کانتینرها است.

► تکرار کننده ها : تکرارکننده ها اشیایی هستند که اغلب آنها اشاره گرند. با استفاده از آنها میتوان محتویات کانتینرها را همانند آرایه ها پیمایش کرد. چند نوع تکرارکننده وجود دارند که عبارتنداز : Random Access, Bisirectional, Forward, Input, Output . با تکرارکننده ها مثل اشاره گرها برخورد میشود. عمل افزایش و کاهش بر روی آنها امکانپذیر است. STL از تکرارکننده های معکوس نیز پشتیبانی میکند. تکرارکننده های معکوس دو طرفه با دستیابی تصادفی اند که در یک شیء ترتیبی مثل لیست بطور معکوس حرکت میکنند.

 

سایر عناصر STL

علاوه بر کانتینرها، الگوریتم ها و تکرارکننده ها، STL از قطعات استاندارد دیگری نیز پشتیبانی میکند. مهمترین آنها عبارتنداز: تخصیص دهنده های حافظه، پیشگوها، توابع مقایسه و اشیای تابع.

هر کانتینر، تخصیص دهنده خاص خودش را تعریف میکند. تخصیص دهنده ها، تخصیص حافظه را برای کانتینر مدیریت میکنند. تخصیص دهنده اصلی شیءی از کلاس allocator است، اما در صورت نیاز میتوانید تخصیص دهنده هایی را تعریف کنید.

بسیاری از الگوریتم ها و کانتینرها از نوع خاصی از تابع به نام پیشگو استفاده میکنند. این توابع بر دو نوع اند:

► یکانی : پیشگویی یکانی دارای یک آرگومان است.

► دودویی : پیش گویی دودویی دارای دو آرگومان است.

نتیجه این توابع مقادری true یا false هستند. اما شرط های دقیقی که موجب میشوند آنها true یا false را برگردانند، توسط برنامه نویس تعریف میشوند. در هر دو نوع پیشگو آرگومانها حاوی مقادیری از نوع اشیایی هستند که باید در کانتینر ذخیره شوند.

علاوه بر فایل های سرآیند که مورد نیاز کلاسهای مختلف STL میبشاند، کتابخانه استاندارد C++ حاوی فایل های utility و functional است. با استفاده  از قالبهای موجود در فایل functional میتوان اشیایی ایجاد کرد که Operator را تعریف میکند. اینها را اشیای تابعی می نامند و در اغلب موارد میتوانند به جای اشاره گرهای تابع به کار گرفته شوند. اشیای تابعی که در فایل functional قرار دارند، عبارتنداز:

► plus

► minus

► multiplies

► divides

► modules

► negate

► equal_to

► not_equal_to

► greater

► greater_equal

► less

► less_equal

► logical_and

► logical_or

► logical_not

احتمالا بیشترین کاربرد را شیء less دارد و کارش این است که تعیین میکند آیا شیئی از شی دیگر کوچکتر است یا خیر. اشیای تابعی میتوانند به جای اشاره گرهای تابع در الگوریتم های STL به کار روند.

 

تئوری کلی در مورد عملیات STL

گرچه عملیات داخلی STL بسیار تکنیکی است استفاده از STL بسیار آسان است. اول باید کانتینر مورد نظر را انتخاب کنید. هر کدام دارای ویژگی ها و امتیازات خاصی است. وقتی کانتینری را انتخاب میکنید، با استفاده از توابع عضو آن، اعمالی مثل حذف، اضافه، دستیابی و اصلاح عنصر را انجام می دهید. حذف و اضافه عناصر در کانتینرها به روشهای مختلفی انجام میشود.

متداول ترین روش دستیابی به عناصر کانتینر، استفاده از تکرارکننده است.کانتینر خطی و وابسته، دارای توابع begin و end هستند که به ترتیب تکرارکننده هایی را که به ابتدا و انتهای کانتینر اشاره میکنند، برمیگردانند. این تکرارکننده ها برای دستیابی به محتویات کانتینرها بسیار مفید هستند.

وقتی کانتینری دارید که اطلاعات را ذخیره میکند، با یک یا جند الگوریتم قابل دستکاری است. الگوریتم ها نه تنها امکان تغییر محتویات کانتینرها را فراهم میکنند، بلکه با استفاده از آنها میتوان یک نوع از کانتینر خطی را به نوع دیگری تبدیل کرد.

 

 



0
نظرات

نظر خود را ارسال کنید



نام:
ایمیل:
دیدگاه:
captcha
کد امنیتی :


advertise
مفاهیم اولیه کتابخانه قالب استاندارد ++Cعملیات STL روی کلاسهاآموزش STL در سی پلاس پلاسآشنایی با STL در سی پلاس پلاستئوری کلی در مورد عملیات STLکتابخانه قالب استاندارد در زبان ++c چیست؟اس تی ال در سی پلاس پلاسکاربرد STL در ++c چگونه است؟آشنایی با مفهوم STL در ++Cتبلیغات ارزان سایت آموزش برنامه نویسیتبلیغات مخصوص طراحان وب سایتتبلیغات در سایت برنامه نویسیتبلیغات اینترنتی برای برنامه نویساندر آغوش مینیمالیسممنوی همبرگر با سه خط افقی که روی یکدیگر قرار گرفته اند نشانه چیست؟ سوئیچ به یک ستون واحدتبدیل متن ساده به وبلاگ و سایت های پویا با React.jsکتابخانه sass برای استفاده آسان تر از آنکتابخانه سطح بالا برای اتوماتیک سازی اعمال مرورگر لیست برچسب ها
تمامی حقوق این سایت اعم از محتوی ، تصاویر ، قالب و ... متعلق به گروه مهندسی وب سایت سورس کد می باشد.
SourceCodes.ir ، افقی روشن برای برنامه نویسان ، از مبتدی تا حرفه ای

کسب درآمد با کامپیوتر
تولید بیت کوین با کامپیوتر

پیشنهادات ویژه سورس کد

پکیج ویژه پروژه پایانی رشته کامپیوتر دانلود مجموعه 70 پروژه کاربردی سی شارپ وب سایت فروشگاه با php