হ্যাঁ, পয়েন্টারগুলির সাথে সমস্যা আছে। খুব সম্ভবত আপনি এমন একটি ব্যবহার করছেন যা সঠিকভাবে আরম্ভ করা হয়নি, তবে আপনি ডাবল ফ্রি বা এরকম কিছু দিয়ে আপনার মেমরি পরিচালনা পরিচালনাতে গোলযোগ করছেন এমনটিও সম্ভব।
স্থানীয় ভেরিয়েবল হিসাবে অবিচ্ছিন্ন পয়েন্টারগুলি এড়ানোর জন্য, তাদের যখন কোনও অর্থবোধক মান দিয়ে আরম্ভ করা যায় তত বেশি পছন্দ হিসাবে (সম্ভবত এটি সম্ভবত সর্বদা সম্ভব নয়) ঘোষণা করার চেষ্টা করুন। কোডটি পরীক্ষা করে সেগুলি ব্যবহার করার আগে তাদের একটি মূল্য থাকবে বলে নিজেকে মনে করুন। যদি আপনার এতে অসুবিধা হয় তবে এগুলি একটি নাল পয়েন্টার ধ্রুবক (সাধারণত হিসাবে NULL
বা হিসাবে লিখিত 0
) এ শুরু করুন এবং তাদের পরীক্ষা করুন।
সদস্য মান হিসাবে অবিচ্ছিন্ন পয়েন্টারগুলি এড়ানোর জন্য, নিশ্চিত করুন যে তারা কন্সট্রাক্টরে সঠিকভাবে আরম্ভ করা হয়েছে, এবং অনুলিপি নির্মাণকারী এবং অ্যাসাইনমেন্ট অপারেটরগুলিতে সঠিকভাবে পরিচালিত হয়েছে। init
মেমরি পরিচালনার জন্য কোনও ফাংশনের উপর নির্ভর করবেন না , যদিও আপনি অন্য আরম্ভের জন্য পারেন।
যদি আপনার শ্রেণীর অনুলিপি নির্মাণকারী বা অ্যাসাইনমেন্ট অপারেটরগুলির প্রয়োজন না হয়, আপনি তাদের ব্যক্তিগত সদস্য ফাংশন হিসাবে ঘোষণা করতে পারেন এবং তাদের কখনই সংজ্ঞায়িত করতে পারবেন না। এটি সংকলক ত্রুটি সৃষ্টি করবে যদি তারা স্পষ্টভাবে বা স্পষ্টভাবে ব্যবহার করা হয়।
প্রযোজ্য ক্ষেত্রে স্মার্ট পয়েন্টার ব্যবহার করুন। এখানে বড় সুবিধাটি হ'ল, আপনি যদি তাদের কাছে লেগে থাকেন এবং এগুলি ধারাবাহিকভাবে ব্যবহার করেন তবে আপনি সম্পূর্ণরূপে লেখা এড়াতে পারবেন delete
এবং কোনও কিছুই ডাবল-মোছা হবে না।
সি-স্টাইল স্ট্রিং এবং অ্যারের পরিবর্তে যখনই সম্ভব সি ++ স্ট্রিং এবং ধারক ক্লাস ব্যবহার করুন। .at(i)
পরিবর্তে ব্যবহার বিবেচনা করুন [i]
, কারণ এটি সীমা পরীক্ষা করতে বাধ্য করবে। আপনার সংকলক বা গ্রন্থাগারটি [i]
কমপক্ষে ডিবাগ মোডে সীমা পরীক্ষা করতে সেট করা যেতে পারে কিনা তা দেখুন । বিভাগীয় ত্রুটিগুলি পুরোপুরি ভাল পয়েন্টারগুলিতে আবর্জনা লেখার বাফার ওভাররনগুলির কারণে ঘটতে পারে।
এই জিনিসগুলি করা বিভাগের ত্রুটিগুলি এবং অন্যান্য স্মৃতি সমস্যার সম্ভাবনা যথেষ্ট হ্রাস করবে। তারা নিঃসন্দেহে সমস্ত কিছু ঠিক করতে ব্যর্থ হবে এবং সে কারণেই আপনার এখন ভ্যালগ্র্যান্ড ব্যবহার করা উচিত এবং যখন আপনার সমস্যা নেই তখন এবং ভ্যালগ্রাইন্ড এবং জিডিবি যখন আপনি করবেন।
g
এর প্রসঙ্গে এটি সংকলিত করার অর্থ কীCMake
?