কম্পিউটার

C++ প্রোগ্রামে ইটারেটর বাতিলকরণ


এই টিউটোরিয়ালে, আমরা C++ এ পুনরাবৃত্তিকারীর অবৈধতা বোঝার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব।

একটি ধারক বস্তুর উপাদানগুলির উপর পুনরাবৃত্তি করার সময়, কখনও কখনও এটি অবৈধ হয়ে যেতে পারে যদি আমরা আবদ্ধ চেক প্রয়োগ না করি। এটি প্রধানত ধারক বস্তুর আকার এবং আকার পরিবর্তনের কারণে ঘটে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int main() {
   //declaring a vector
   vector <int> v{1, 5, 10, 15, 20};
   //changing vector during execution
   //which will cause bound invalidation
   for (auto it=v.begin();it!=v.end();it++)
      if ((*it) == 5)
         v.push_back(-1);
   for (auto it=v.begin();it!=v.end();it++)
      cout << (*it) << " ";
   return 0;
}

আউটপুট

1 5 10 15 20 -1 -1

(এটাও ঘটতে পারে যে নতুন উপাদান যোগ করার জন্য, ভেক্টরটি একটি নতুন অবস্থানে অনুলিপি করা হয় যেখানে আমাদের পুনরাবৃত্তিকারীটি এখনও পুরানোটির দিকে নির্দেশ করে যা তারপরে একটি ত্রুটি দেবে৷)


  1. C++ এ ইটারেটর বাতিলকরণ

  2. C++ এ একটি ভেক্টর বাছাই করা

  3. STL এ ভেক্টর বাস্তবায়নের জন্য C++ প্রোগ্রাম

  4. ভেক্টর বাস্তবায়নের জন্য C++ প্রোগ্রাম