আমার এই বিদ্যমান কোডটি রয়েছে যেখানে তাদের ক্লাস এবং সেই শ্রেণিতে একটি সূচনা পদ্ধতি রয়েছে। আশা করা যায় যে ক্লাসের অবজেক্টটি তৈরি হয়ে গেলে, তাদের এটিকে আরম্ভ করার আহ্বান জানাতে হবে।
প্রাথমিক পদ্ধতিটি কেন বিদ্যমান তা কারণটি বিশ্বব্যাপী স্কোপ পেতে প্রাথমিকভাবে তৈরি হয়ে যায় এবং তারপরে ডিএল লোড করার পরে প্রাথমিক পদ্ধতিটি পরে ডাকা হয় যা এটি নির্ভর করে।
ইনিশিয়াল করার সাথে ইস্যু ক্লাসের এখন এই বুলটি ইনিশিয়ালাইজড রয়েছে যা আগে যাওয়ার আগে প্রতিটি পদ্ধতিতে পরীক্ষা করা দরকার এবং এটি আরম্ভ না করা হলে ত্রুটি ফেরায়। সহজ কথায় বলতে গেলে, এটি একটি বড় ব্যথা।
একটি সম্ভাব্য সমাধান কনস্ট্রাক্টর এ আরম্ভ করুন। বিশ্বব্যাপী সুযোগে কেবলমাত্র একটি পয়েন্টার রয়েছে। ডেল লোড হওয়ার পরে আসল অবজেক্টটি তৈরি করুন।
উপরের সমাধান সহ ইস্যু করুন যে কেউ এই শ্রেণীর একটি অবজেক্ট তৈরি করে তা জানতে হবে যে এটি ডেল লোড হওয়ার পরেই তৈরি করা উচিত অন্যথায় এটি ব্যর্থ হবে।
এটা কি গ্রহণযোগ্য?
call_once
। যে প্রকল্পগুলি এখনও সি ++ 11 এ নেই তাদের কে সি ++ 11 (কী সমস্যাটি সমাধান করে এবং তারপরে কীভাবে ফোকাস করা হয়) কীভাবে কল_অনসেস বাস্তবায়িত হবে তা অধ্যয়ন করা উচিত এবং তারপরে এটি তাদের সি (+) বাসির স্বাদে পুনরায় বাস্তবায়ন করা উচিত। এটির জন্য একটি বহু-থ্রেড নিরাপদ সিঙ্ক্রোনাইজেশন আদিম প্রয়োজন, যার রাজ্যটি স্থিতিশীলভাবে শুরু করতে হবে (ধ্রুবক মান সহ)। নোট করুন যে প্রাক-সি ++ 11 সংকলকগুলিতে অন্যান্য আইডিয়াসনক্রিয়া থাকতে পারে যা সন্তুষ্ট হওয়া দরকার।