کدنگار

وبلاگ شخصی-آموزشی علی رشیدی

کدنگار

وبلاگ شخصی-آموزشی علی رشیدی

طبقه بندی موضوعی
پیوندهای روزانه
پیوندها

تجربه #4: وکتورِ وکتور از اشیا

دوشنبه, ۱۳ شهریور ۱۳۹۶، ۱۰:۱۳ ق.ظ

تجربه ۳ رو یادتونه؟ که برای یه آرایه نامشخص انجام دادیم. یگ مشکل اساسی اون روش، این بود که برای یه آرایه دو بعدی یا بهتر بگم در کار من، آرایه ی آرایه، این روش بسیار پیچیده و بیشتر شبیه به ماست مالی میشد. و اینجا بود که به یاد دوست قدیمیمون وکتور افتادم. وکتور خیلی از مشکلات از قبیل سایز و ... رو نداره و خلاصه خیلی کارو راحت میکنه. میشه ریسایزش کرد و خلاصه خوراک کار من بود.


اما کاری که من میخواستم بکنم این بود: یک وکتورِ وکتور رو از روی یه آرایه ی آرایه که با جیسون دیکُد شده بسازم. روش این شد که یک وکتور وکتور به روش زیر بسازم، بعد بُعد اول رو بر اساس سایز بعد اول آرایه جیسون تغییر اندازه(ریسایز) کنم، و بعد برای هر بعد دوم، با استفاده از جیسون باز هم ریسایز کنم. در واقع یه چیزی شبیه به این:


    QVector<QVector<A>> myVect;
myVect.resize(2);
int i, j;

for (i = 0; i < 2; i++)
{
myVect[i].resize(4);
for (j = 0; j < 4; j++)
{
myVect[i][j] = A(i*j);
}
}

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


QVector<QVector<A>> myVect(3, QVector<A>(5));

در اینجا وکتورمون مثل یه آرایه هست که اینطوری تعریف شده باشه:


int arr[3][5];

تعریف کردن و ریسایز و ... در وکتور استاندارد هم کاملا مشابه همینه و اگه از اون استفاده میکنید کافیه QVector رو با vector جایگزین کنید.

  • علی رشیدی

QVector

Vector

Vector of vectors

دو بعدی

وکتور

نظرات (۰)

هیچ نظری هنوز ثبت نشده است
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی