دوست عزیز اولی میاد میگه یه ساختمان از نوع int که حاوی 10 خانه هست و مقدار پیش فرض این خانه ها 20 هست تعریف میکنه که میشه به شکل زیر
{20,20,20,20,20,20,20,20,20,20}
ولی عبارت دوم میاد یه ساختمان int تعریف میکنه که شامل دو عنصر با مقدار های 10 و 20 ایجاد میکنه که میشه به شکل زیر
{10,20}
به همین دلیل موقعی که شما [ v2[2 رو مخوای بنویسی با مشکل مواجه میشی چون ساختمان بالا دو تا خونه بیشتر نداره با اندیس های 0 و 1 حالا شما موقعی که میخوای خونه سوم که اندیسش 2 هست رو صدا بزنی بسته به کامپایلرت با مشکل مواجه میشی
ولی توی v1 اینجوری نیست چون حاوی 10 تا خونه هست که با اندیس های 0 تا 9 قابل استفاده هست
vector<type> vecor_name (size , default_value);
vector<type> vecor_name {element1,element2,element3,....};
نمونه کدت :
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
int main ()
{
vector<int> v1(10,20);
vector<int> v2{10,20};
cout << "v1 is : " << endl;
for(auto i:v1){
cout << "\t" <<i << endl;
}
cout << "v2 is : " << endl;
for(auto i:v2){
cout << "\t" <<i << endl;
}
return 0;
}
Fire360Boy
Always & Everywhere