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

C++ mutable কীওয়ার্ড


মিউটেবল ডেটা মেম্বার হলো সেসব মেম্বার যাদের মান রানটাইমে পরিবর্তন করা যায় এমনকি অবজেক্ট কনস্ট্যান্ট টাইপের হলেও। এটি কনস্ট্যান্টের ঠিক বিপরীত।

কখনো কখনো লজিকের জন্য শুধু এক বা দুই ডেটা মেম্বার ভেরিয়েবল হিসেবে এবং অন্যটি কনস্ট্যান্ট হিসেবে ব্যবহার করা দরকার হয় ডেটা হ্যান্ডেল করার জন্য। সেক্ষেত্রে, মিউটেবিলিটি ক্লাস ম্যানেজ করার জন্য খুব সহায়ক কনসেপ্ট।

উদাহরণ

#include <iostream>
using namespace std;
class Test {
    public:
        int a;
        mutable int b;
        Test(int x = 0, int y = 0) {
            a = x;
            b = y;
        }
        void seta(int x = 0) {
            a = x;
        }
        void setb(int y = 0) {
            b = y;
        }
        void disp() {
            cout << endl << "a: " << a << " b: " << b << endl;
        }
};
int main() {
    const Test t(10, 20);
    cout << t.a << " " << t.b << "\n";
    // t.a = 30; // এরর হবে কারণ a পরিবর্তন করা যাবে না, কারণ অবজেক্ট কনস্ট্যান্ট।
    t.b = 100; // b এখনও পরিবর্তন করা যায়, কারণ b mutable।
    cout << t.a << " " << t.b << "\n";
    return 0;
}

  1. C++-এ Line Reflection: ২D প্লেনে বিন্দুগুলোর Y-অক্ষ সমান্তরাল প্রতিফলন লাইন আছে কিনা যাচাই করা

  2. C++-এ ডায়াগোনাল ট্রায়ভার্স II

  3. প্রসেস কিল করা (Kill Process) C++-এ

  4. স্কোয়ারেল সিমুলেশন (Squirrel Simulation) C++-এ