نمایش نتایج 1 تا 2 از 2

نام تاپیک: ظرفیت در وکتور ها

  1. #1
    کاربر دائمی آواتار sourcecode
    تاریخ عضویت
    اسفند 1391
    پست
    155
    تشکر کردن
    10
    18 بار تشکر شده در 17 پست

    ظرفیت در وکتور ها

    در vector ها اگر وکتور ظرفیت آزادی نداشته باشه ابتدا ظرفیت بردار دو برابر میشود سپس عنصر جدید به انتهای بردار اضافه میشه یعنی اگه ما وکتوری به ظرفیت 5 داشته باشیم و بعد از وارد کردن 5 عنصر درون وکتور با توجه به مطلب گفته شده باید ظرفیت وکتور به 10 بشه و عنصر جدید درون خونه 6 وکتور قرار بگیره ولی در در اجرا کد پایین ظرفیت وکتور به 7 میشه بجای اینکه 10 بشه !!!...
    چرا ؟ ؟ ؟
    برای درک بهتر سوالم دو تصویر زیر رو نگاه کنین تا بفهمین منظورم چیه :

    1.jpg22.png

    اینم کدش برای تست کردن

    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    vector <int> v;
    v.reserve(5);
    char n='y';
    while (n == 'y')
    {
    cout « "Capacity : " « v.capacity() « " Size : " « v.size() « endl;
    v.push_back(n);
    cin » n;
    system("cls");
    }
    cout « endl;
    system("pause");
    return 0;
    }




  2. #2
    کاربر دائمی آواتار sourcecode
    تاریخ عضویت
    اسفند 1391
    پست
    155
    تشکر کردن
    10
    18 بار تشکر شده در 17 پست

    نقل قول: ظرفیت در وکتور ها

    نقل قول نوشته شده توسط sourcecode مشاهده تاپیک
    در vector ها اگر وکتور ظرفیت آزادی نداشته باشه ابتدا ظرفیت بردار دو برابر میشود سپس عنصر جدید به انتهای بردار اضافه میشه یعنی اگه ما وکتوری به ظرفیت 5 داشته باشیم و بعد از وارد کردن 5 عنصر درون وکتور با توجه به مطلب گفته شده باید ظرفیت وکتور به 10 بشه و عنصر جدید درون خونه 6 وکتور قرار بگیره ولی در در اجرا کد پایین ظرفیت وکتور به 7 میشه بجای اینکه 10 بشه !!!...
    چرا ؟ ؟ ؟
    برای درک بهتر سوالم دو تصویر زیر رو نگاه کنین تا بفهمین منظورم چیه :

    1.jpg22.png

    اینم کدش برای تست کردن

    #include "stdafx.h"
    #include <iostream>
    #include <vector>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    vector <int> v;
    v.reserve(5);
    char n='y';
    while (n == 'y')
    {
    cout « "Capacity : " « v.capacity() « " Size : " « v.size() « endl;
    v.push_back(n);
    cin » n;
    system("cls");
    }
    cout « endl;
    system("pause");
    return 0;
    }



    دوستان من از VS استفاده میکنم ولی یکی با کامپایلر GCC جواب درست داد یعنی وقتی که ظرفیت 5 میشه دفعه بعد 10 میشه در صورتی که برای من 7 میشه؟
    آیا به سیستم عامل یا نوع کامپایلر بستگی داره یا ممکنه چیزای دیگه دخیل باشه که تو دو کامپایلر خروجی متفاوت رو نشون میده ؟

تاپیک های مشابه

  1. استفاده از وکتور ها در طراحی وب سایت
    نوشته شده توسط aliarya در بخش طراحی وب (Web Design)
    پاسخ: 4
    آخرین پست: چهارشنبه 10 شهریور 1389, 00:18 صبح
  2. کند حرکت کردن در بازی ها
    نوشته شده توسط در بخش توسعه‌ی لینوکس و نرم افزارهای آزاد
    پاسخ: 3
    آخرین پست: یک شنبه 10 مهر 1384, 13:50 عصر
  3. فونت پیش فرض دلفی در فرم ها و..MS Sans Serif میباشد
    نوشته شده توسط fahimi در بخش برنامه نویسی در Delphi
    پاسخ: 5
    آخرین پست: جمعه 22 اسفند 1382, 01:53 صبح
  4. جستجو در داده ها
    نوشته شده توسط faramarz_s در بخش ASP.NET
    پاسخ: 13
    آخرین پست: پنج شنبه 27 شهریور 1382, 21:07 عصر
  5. نمایش عکس در Gird ها
    نوشته شده توسط الهام تفریشی در بخش VB.NET
    پاسخ: 3
    آخرین پست: چهارشنبه 12 شهریور 1382, 07:55 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •