کدنگار

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

کدنگار

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

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

۱ مطلب با کلمه‌ی کلیدی «Vector of vectors» ثبت شده است

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


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


    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 جایگزین کنید.

  • علی رشیدی