আমি ডেলফিতে নতুন, এবং কী অবজেক্ট ভেরিয়েবল এবং স্ট্যাক ভেরিয়েবলগুলি ডিফল্টরূপে শুরু করা হয়েছিল তা দেখার জন্য আমি কয়েকটি পরীক্ষা চালিয়ে যাচ্ছি:
TInstanceVariables = class
fBoolean: boolean; // always starts off as false
fInteger: integer; // always starts off as zero
fObject: TObject; // always starts off as nil
end;
অন্যান্য ভাষা থেকে এই ব্যবহারটি আমি ব্যবহার করি তবে আমি ভাবছি যে এটি ডেলফির উপর নির্ভর করা নিরাপদ কিনা? উদাহরণস্বরূপ, আমি ভাবছি এটি কোনও সংকলক সেটিংয়ের উপর নির্ভর করে, বা বিভিন্ন মেশিনে ভিন্নভাবে কাজ করতে পারে। অবজেক্টগুলির জন্য ডিফল্ট প্রাথমিক মানগুলির উপর নির্ভর করা কি স্বাভাবিক, না আপনি নির্মাত্রে সমস্ত উদাহরণ ভেরিয়েবল স্পষ্টভাবে সেট করেন?
স্ট্যাকের (পদ্ধতি-স্তরের) ভেরিয়েবলগুলির ক্ষেত্রে, আমার পরীক্ষাগুলি দেখায় যে ইউনিটিয়ালাইজড বুলিয়ানগুলি সত্য, এককীকরণযুক্ত পূর্ণসংখ্যা 2129993264, এবং আনলিয়ালাইজড অবজেক্টগুলি কেবল অবৈধ পয়েন্টার (যেমন শূন্য নয়)। আমি অনুমান করছি নিয়মটি অ্যাক্সেস করার আগে সর্বদা পদ্ধতি-স্তরের ভেরিয়েবলগুলি সেট করা যায়?