முக்கிய உள்ளடக்கத்திற்குச் செல்லவும்
தொகுதி 5 · பாடம் 1 இன் 2பாடத்திட்டத்தில் 11/18~12 min
தொகுதி பாடங்கள் (1/2)

வரிசைகள் மற்றும் திசையன்கள்

C++ இல், தரவு சேகரிப்புகளை நிர்வகிப்பது முதன்மையாக இரண்டு கருவிகள் மூலம் செய்யப்படுகிறது: பழைய பாணி அணிவரிசைகள் (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

பொதுவான செயல்பாடுகள்:

  • **இறுதியில் சேர்
  • அளவு: .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> எண்கள்;`கொண்டு அறிவிக்கவும், மூன்று எண்களை`.push_back(value)`உடன் செருகவும், அதை`std::cout << numbers.size();` என அச்சிடவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

உடற்பயிற்சி#cpp.m5.l1.e2
முயற்சிகள்: 0ஏற்றுகிறது…

முக்கியமாக, 5 உறுப்புகளின் தரவரிசை வரிசை வரையறுக்கப்படுகிறது. அணிவரிசையில் உள்ள அனைத்து உறுப்புகளின் கூட்டுத்தொகையைக் கணக்கிடுவதற்கு ஒரு for loop ஐ எழுதவும், அதை மாறி தொகையில் சேமித்து, std::cout ஐப் பயன்படுத்தி அச்சிடவும்.

எடிட்டரை ஏற்றுகிறது…
குறிப்பைக் காட்டு

`for (int i = 0; i < 5; ++i)`loop ஐப் பயன்படுத்தவும் மற்றும் லூப்பில் உள்ள ஒவ்வொரு உறுப்பையும்`sum += கிரேடுகளுடன்[i];` கூட்டவும்.

3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்

Quiz#cpp.m5.l1.q1
தயார்

C++ இல் std::vector இன் முடிவில் ஒரு உறுப்பைச் சேர்க்க சரியான முறை என்ன?

C++
std::vector<int> numbers; // come aggiungere il valore 50?
பதில் விருப்பங்கள்