تبلیغات :
آکوستیک ، فوم شانه تخم مرغی، صداگیر ماینر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




نمايش نتايج 1 به 9 از 9

نام تاپيک: آموزش Stl

  1. #1
    داره خودمونی میشه Mina Mehdizadeh's Avatar
    تاريخ عضويت
    Jan 2008
    محل سكونت
    Isfahan
    پست ها
    75

    پيش فرض آموزش Stl

    سلام به همگی ...می خوام تو این تاپیک یکمی stl کار کنیم ....من خودم تازه شروع کردم خیلی هم بلد نیستم بنابراین از همه کسایی که stl کار کردن خواهش می کنم اطلاعاته تکمیلی شون را اینجا قرار بدن تا همه از جمله خودم استفاده کنیم .....ممنون
    خوب برای شروع بهتره یکمی توضیح بدیم این stl چی هست ....یه کتابخونه بزرگ که به ++c اضافه کردند....یه سری کلاس و تابع که خیلی بی دردسر می تونید کارتون را با اونها انجام بدید ...مثلا دیگه لازم نیست برای اینکه یه لیست داشته باشید لینک لیست پیاده سازی کنید ( با اون همه دردسرش !) .....فقط با یه خط کد میتونید یه لینک لیست داشته باشید اون هم با تابعهای مربوطه اش ( اضافه کردن و حذف کردن و سورت کردن و.....) .......کلا stl چیزه خوبیه دیگه......!



    STL=Standard Template Library که ترجمه شده کتابخانه قالب استاندارد و دارای سه بخش اصلیه :

    1) containers : اشیایی هستند که اشیای دیگه را تو خودشون نگه میدارن ( مثل vector , list ,.....)
    2) algorithms : از طریق الگوریتم ها می تونیم محتویات کانتینرها رو دستکاری کنیم ( مثل سورت کردن و جست و جو کردن و.....)
    3) itrators : اشیای اشاره گرند که با استفاده از اونها می تونیم به محتویات کانتینرها دسترسی داشته باشیم

    راستی برای اینکه بتونید از stl استفاده کنید کافیه برای هدرهاتون h. نذارید و به جاش از ;using namespace std استفاده کنید
    فکر کنم برای شروع بد نبود .....اگه خواستید مطلب تکمیلی اضافه کنید تا بعد بریم سراغ اصل مطلب !!!!
    Last edited by Mina Mehdizadeh; 28-07-2008 at 16:30.

  2. این کاربر از Mina Mehdizadeh بخاطر این مطلب مفید تشکر کرده است


  3. #2
    داره خودمونی میشه Mina Mehdizadeh's Avatar
    تاريخ عضويت
    Jan 2008
    محل سكونت
    Isfahan
    پست ها
    75

    پيش فرض Vector

    vector یا همون بردار مثل آرایه پویا عمل می کنه و دسترسی به اون هم مثل آرایه با براکت امکان پذیره
    بردار v از جنس long تعریف شده که فعلا طولش صفره ولی خیلی راحت می شه اضافه اش کرد :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    الان طولش شد 10 ....( تابع ()push_back جزو توابع رزرو شده برای vector که به انتهای بردارمون i را اضافه می کنه )....البته اگه بخوایم خودمون مستقیما به بردار v مقدار دهی کنیم باید قبلش فضا لازم را رزرو کنیم :
    (اما اگه از تابع های پیش فرضش استفاده کنیم دیگه نیازی به این کار نیست )
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به جای long هم هر چیزی می تونه قرار بگیره ( مثل رشته یا کلاس یا .....)

    تابع های vector :

    ()push_back(),pop_backt: که به ترتیب به ته لیست اضافه و از ته لیست حذف می کنه
    ()begin,()end: اشاره گری رو برمی گردونه که به ابتدا و انتهای لیست اشاره می کنه
    ()size : طول بردار رو برمی گردونه
    .
    .
    .و کلی تابع دیگه که وقتی می نویسید .v براتون ظاهر می شه ......

  4. این کاربر از Mina Mehdizadeh بخاطر این مطلب مفید تشکر کرده است


  5. #3
    داره خودمونی میشه Mina Mehdizadeh's Avatar
    تاريخ عضويت
    Jan 2008
    محل سكونت
    Isfahan
    پست ها
    75

    پيش فرض List

    list مثل لینک لیست عمل می کنه و دسترسی به اعضای اون باید به وسیله اشاره گر صورت بگیره
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    کار با لیست یکم سختتر از vector ولی در عوض تنوع تابع های لیست بیشتره ......
    به صورت زیر اشاره گره it را تعریف می کنیم که مخوایم به خونه های لیست اشاره کنه :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    it را برابره خونه اول لیست میذاریم و تا انتهای لیست جلو می ریم و اعداد 1 تا 10 رو به لیست اضافه می کنیم :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    راستی ...خونه های لیست بر خلاف آرایه و vector از یک شروع می شه نه از صفر .....
    Last edited by Mina Mehdizadeh; 31-07-2008 at 00:11.

  6. این کاربر از Mina Mehdizadeh بخاطر این مطلب مفید تشکر کرده است


  7. #4
    داره خودمونی میشه rf.ariyapoor's Avatar
    تاريخ عضويت
    Mar 2008
    محل سكونت
    تهران
    پست ها
    103

    پيش فرض

    خانوم مهدی زاده بسیار ممنون خیلی مفید بود

    من هم خودم stl رو نخوندم ولی میخوام یادش بگیرم به نظرم زیاد هم سخت نیست

    من هم اگه تونستم کمکتون میکنم

    ممنون

  8. #5
    داره خودمونی میشه Mina Mehdizadeh's Avatar
    تاريخ عضويت
    Jan 2008
    محل سكونت
    Isfahan
    پست ها
    75

    پيش فرض map

    map جفتهایی از کلید و مقدار رو نگهداری می کنه و هر کلید فقط به یک مقدار مربوط می شه ....
    multimap هم داریم توی multimap هر کلید ممکنه به دو یا چند کلید مربوط بشه

    درواقع کلید اسمیه که به یک مقدار داده می شه وقتی مقدار ذخیره شد با استفاده از کلید قابل دستیابی است
    ( با استفاده از کلید می تونیم مقدار رو جست و جو کنیم )

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    که اینجا کلید از جنس رشته تعریف شده و به هر رشته یک عدد long رو نسبت می دیم
    مثلا تو این مثال میخوایم اسامی افراد رو با شماره تلفنهاشون داشته باشیم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حالا میخوایم با استفاده از کلیدمون (اسامی افراد ) مقدار ( شماره تلفن ) رو پیدا کنیم ...برای اینکار اول باید یه اشاره گر تعریف کنیم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    حتما تا الان فهمیدید که برای تعریف اشاره گر از itrator:: استفاده می شه .

    مثلا میخوایم شماره ali رو پیدا کنیم :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    برنامه کاملش هم اینه :
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    البته همینطور که می بینید مثالهایی که می زنم خیلی ساده هستند .....مثلا شما می تونید اشیایی از کلاس رو توی map ذخیره کنید ....( شاید آخر دست یه سری مثال تکمیلی هم گذاشتم ولی خوب این بستگی داره خودم چقدر یاد گرفته باشم !!!!)

  9. این کاربر از Mina Mehdizadeh بخاطر این مطلب مفید تشکر کرده است


  10. #6
    حـــــرفـه ای taia's Avatar
    تاريخ عضويت
    Aug 2005
    محل سكونت
    چو ایران نباشد تن من مباد
    پست ها
    2,107

    پيش فرض

    بسیار عالی
    چند لینک از مطالب و مثال های مفید در مورد آنچه تا به الآن قرار داده اید:
    vector
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    list
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    map
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    موفق باشید

  11. #7
    داره خودمونی میشه Mina Mehdizadeh's Avatar
    تاريخ عضويت
    Jan 2008
    محل سكونت
    Isfahan
    پست ها
    75

    پيش فرض string

    شاید بد نباشه یه کوچولو هم در مورده string بگیم (از string تو مثال map استفاده شده )
    استفاده ازش خیلی کار رو راحت می کنه .....نگاه کنید :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    حتی میشه با توابع stl دستکاریش کرد ...مثلا با تابع () insert میشه وسط یه رشته یه رشته دیگه رو اضافه کرد
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    به رشته s3 رشته s1 رو اضافه می کنه ( از خونه دوم به بعد )

    میتونید بعضی کاراکتر های رشته رو هم بوسیله ()erase حذف کنید :

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    از خونه اول سه تا کاراکتر رو حذف می کنه ......

  12. این کاربر از Mina Mehdizadeh بخاطر این مطلب مفید تشکر کرده است


  13. #8
    در آغاز فعالیت
    تاريخ عضويت
    Apr 2009
    پست ها
    1

    پيش فرض

    عالی بود....لطفا توضیحات همراه مثالهای بیشتری را ارائه بدید ....تشکر

  14. #9
    در آغاز فعالیت
    تاريخ عضويت
    Jun 2015
    پست ها
    1

    پيش فرض

    سـلام به همگی

    دوستان میشه منو راهنمایی کنید ، از stl چیزی بلد نیسم ولی احتیاج به این برنامه دارم :

    با استفاده از لیست پیوندی یکطرفه اعداد 12,10,5 را به لیست اضافه کنید و سپس عدد 5 را از لیست حذف کنید ؟

    ممنون میشم

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •