مرکزی مواد پر جائیں
ماڈیول 5 · سبق 1 از 2کورس میں 11/18~12 min
ماڈیول اسباق (1/2)

ارے اور ویکٹر

C++ میں، ڈیٹا کے جمع کرنے کا انتظام بنیادی طور پر دو ٹولز کے ذریعے کیا جاتا ہے: پرانی طرز کی صفیں (سی طرز کی صفیں) اور ویکٹرز (std::vector)۔ مستحکم اور متحرک میموری کے درمیان فرق کو سمجھنا موثر کوڈ لکھنے کے لیے بنیادی ہے۔


1. جامد صفیں (سی طرز کی صفیں)

ایک صف ایک ہی قسم کے عناصر کا مجموعہ ہے جو مربوط میموری والے مقامات پر محفوظ ہے۔ جامد صف کا سائز کمپائل کے وقت معلوم ہونا چاہیے اور بعد میں تبدیل نہیں کیا جا سکتا:

C++
int grades[5] = {18, 22, 25, 28, 30}; // Array of 5 integers

کلیدی خصوصیات:

  • فکسڈ سائز: آپ رن ٹائم پر عناصر کو شامل یا ہٹا نہیں سکتے ہیں۔
  • اسٹیک ایلوکیشن: مختص کرنے اور ڈیلوکیٹ کرنے میں بہت تیز۔
  • رسائی: انڈیکس آپریٹر کے ذریعے ہو گئی [] (جیسے، grades[0] پہلے عنصر کے لیے)۔

2. متحرک ویکٹرز (std::vector)

C++ معیاری ٹیمپلیٹ لائبریری (STL) std::vector کلاس فراہم کرتی ہے، جو ایک متحرک صف کی نمائندگی کرتی ہے۔ اسے استعمال کرنے کے لیے، آپ کو <vector> ہیڈر شامل کرنا ہوگا:

C++
#include <vector>

std::vector<int> numbers; // Creates an empty vector of integers

عام آپریشنز:

  • اختتام میں شامل کریں: .push_back(value) طریقہ ویکٹر کے آخر میں ایک عنصر داخل کرتا ہے، اگر ضرورت ہو تو خود بخود میموری کو دوبارہ مختص کرتا ہے۔
  • سائز: .size() طریقہ ویکٹر میں موجود عناصر کی تعداد لوٹاتا ہے۔
  • محفوظ رسائی: [] آپریٹر کے علاوہ، آپ .at(index) طریقہ استعمال کر سکتے ہیں (جیسے، numbers.at(0))، جو انڈیکس حد سے باہر ہونے کی صورت میں ایک استثناء دیتا ہے۔
C++
std::vector<int> scores = {90, 85};
scores.push_back(95); // scores now contains {90, 85, 95}
std::cout << scores.size(); // Prints 3

خود ہی آزمائیں۔

ورزش#cpp.m5.l1.e1
کوششیں: 0لوڈ ہو رہا ہے…

اعداد کے نام والے عدد کے std:: ویکٹر کا اعلان کریں۔ .push_back() طریقہ استعمال کرتے ہوئے اس کے اندر 10، 20 اور 30 ​​کی قدریں شامل کریں، پھر numbers.size() کا استعمال کرکے اس کا سائز پرنٹ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

ویکٹر کا اعلان `std::vector<int> numbers;`کے ساتھ کریں، تین نمبروں کو`.push_back(value)`کے ساتھ داخل کریں، اور اسے`std::cout << numbers.size();` کے ساتھ پرنٹ کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

ورزش#cpp.m5.l1.e2
کوششیں: 0لوڈ ہو رہا ہے…

بنیادی طور پر، 5 عناصر کی ایک درجہ بندی کی وضاحت کی گئی ہے۔ صف میں موجود تمام عناصر کے مجموعے کا حساب لگانے کے لیے ایک for loop لکھیں، اسے متغیر رقم میں ذخیرہ کریں، اور std::cout کا استعمال کرتے ہوئے اسے پرنٹ کریں۔

ایڈیٹر لوڈ ہو رہا ہے…
اشارہ دکھائیں۔

ایک `فور (int i = 0; i < 5; ++i)`لوپ کا استعمال کریں اور لوپ کے اندر ہر عنصر کو`sum += گریڈز[i];` کے ساتھ جمع کریں۔

3 کوششوں کے بعد حل دستیاب ہے۔

Quiz#cpp.m5.l1.q1
تیار

C++ میں std::vector کے آخر میں عنصر کو جوڑنے کا صحیح طریقہ کیا ہے؟

C++
std::vector<int> numbers; // come aggiungere il valore 50?
جواب کے اختیارات