ভেক্টর কপি করার ৫টি পদ্ধতি
১. std::copy + back_inserter
vector<int> v1 = {7,6,4,5}, v2;
copy(v1.begin(), v1.end(), back_inserter(v2));
২. assign() মেথড
vector<int> v2;
v2.assign(v1.begin(), v1.end());
৩. অ্যাসাইনমেন্ট অপারেটর (=)
vector<int> v2 = v1; // বা v2 = v1;
৪. push_back() লুপ
vector<int> v2;
for (int x : v1) v2.push_back(x);
৫. কনস্ট্রাক্টর দিয়ে কপি
vector<int> v2(v1); // কপি কনস্ট্রাক্টর
পারফরম্যান্স এবং সুপারিশ
- অ্যাসাইনমেন্ট (=) বা কপি কনস্ট্রাক্টর: সবচেয়ে পঠনযোগ্য এবং সাধারণত অপ্টিমাইজড (move semantics C++11-এ)।
- assign(): বিদ্যমান ভেক্টরকে নতুন কনটেন্ট দিয়ে রিপ্লেস করার জন্য।
- std::copy: جزিয়েটর রেঞ্জ কপি করার জন্য ফ্লেক্সিবল।
- push_back লুপ: ধীর (রি-অ্যালোকেশন হতে পারে),
reserve()ব্যবহার করলে ভালো।
সর্বোত্তম প্র্যাকটিস: v2 = v1; বা vector<int> v2(v1);।