কম্পিউটার টিউটোরিয়াল

C++ STL-এ Forward_list::operator =

এই আর্টিকেলে আমরা C++-এ forward_list::operator =-এর কাজকর্ম, সিনট্যাক্স এবং উদাহরণ নিয়ে আলোচনা করব।

STL-এ Forward_list কী?

ফরওয়ার্ড লিস্ট হলো একটি সিকোয়েন্স কন্টেইনার যা সিকোয়েন্সের যেকোনো স্থানে কনস্ট্যান্ট টাইমে ইন্সার্ট এবং ইরেজ অপারেশন করার সুবিধা দেয়। ফরওয়ার্ড লিস্ট বাস্তবে একটি সিঙ্গলি-লিংকড লিস্ট হিসেবে ইমপ্লিমেন্ট করা হয়। প্রতিটি এলিমেন্টের পরবর্তী এলিমেন্টের সাথে লিংক থাকায় অর্ডারিং বজায় থাকে।

forward_list::operator = কী?

forward_list::operator = একটি ফরওয়ার্ড লিস্ট কন্টেইনারের নতুন মান অ্যাসাইন করতে ব্যবহৃত হয়, যা ইতিমধ্যে থাকা মানগুলোর plaats নেয়। এই অপারেটর নতুন মান অনুযায়ী ফরওয়ার্ড লিস্ট কন্টেইনারের সাইজও মডিফাই করে।

সিনট্যাক্স

forward_container1 = forward_container2;

এই ফাংশন একই টাইপের অন্য একটি ফরওয়ার্ড লিস্ট কন্টেইনার গ্রহণ করে।

রিটার্ন ভ্যালু

এটি *this পয়েন্টার রিটার্ন করে।

উদাহরণ

নিচের কোডে আমরা দুটি ফরওয়ার্ড লিস্ট তৈরি করব, সেগুলোতে এলিমেন্ট ইন্সার্ট করব, এবং তারপর = অপারেটর ব্যবহার করে ফরওয়ার্ড লিস্ট ১-এর এলিমেন্টগুলোর ওপর ফরওয়ার্ড লিস্ট ২-এর এলিমেন্টগুলো কপি করব।

#include <forward_list>
#include <iostream>
using namespace std;

int main() {
    forward_list<int> forwardList1 = {10, 20, 30};
    forward_list<int> forwardList2 = {0, 1, 2, 3};
    forwardList1 = forwardList2;
    cout << "my forwardList1 after using = operator with forwardList2\n";
    for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
        cout << ' ' << *i;
    return 0;
}

আউটপুট

উপরোক্ত কোড রান করলে নিচের আউটপুট পাওয়া যাবে:

my forwardList1 after using = operator with forwardList2 0 1 2 3

দ্বিতীয় উদাহরণ

এখানে আমরা যাচাই করব যে অ্যাসাইনমেন্টের পর ফরওয়ার্ড লিস্ট ২ পরিবর্তিত হয় কিনা।

#include <forward_list>
#include <iostream>
using namespace std;

int main() {
    forward_list<int> forwardList1 = {10, 20, 30};
    forward_list<int> forwardList2 = {0, 1, 2, 3};
    forwardList1 = forwardList2;
    cout << "my forwardList1 after using = operator with forwardList2\n";
    for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
        cout << ' ' << *i;
    cout << "\n my forwardList2 after using = operator with forwardList1\n";
    for (auto i = forwardList2.begin(); i != forwardList2.end(); ++i)
        cout << ' ' << *i;
    return 0;
}

আউটপুট

my forwardList1 after using = operator with forwardList2 0 1 2 3
my forwardList2 after using = operator with forwardList1 0 1 2 3

নোট: অ্যাসাইনমেন্ট অপারেটর সোর্স কন্টেইনার (forwardList2) কে কোনোভাবেই পরিবর্তন করে না; এটি কেবল ডেস্টিনেশন কন্টেইনার (forwardList1) কে আপডেট করে।

  1. C++ STL-এ map::max_size() ফাংশন

  2. C++ STL-এ set এবং unordered_set এর পার্থক্য

  3. C++ STL-এ স্ট্যাক (Stack)

  4. C++-এ delete() অপারেটর