ভেরিয়েবলটি কীভাবে র্যামে সংরক্ষণ করা হয় তার পরিপ্রেক্ষিতে "int? X = 0" এবং "int? X = null" এর মধ্যে পার্থক্য কী?
উত্তর 1:
নুলযোগ্য টাইপটিতে একধরণের অতিরিক্ত ক্ষেত্র থাকবে যা মানটি বৈধ কিনা তা নির্দেশ করে। দেখে মনে হচ্ছে আপনার উদাহরণটি সি # তে রয়েছে। এই ক্ষেত্রে, কোন? সিস্টেমের জন্য শর্টহ্যান্ড N নন <<< সিস্টেম.অনুবিহীন <টি> একটি জেনেরিক টাইপ যা একটি অতিরিক্ত টিউন ক্ষেত্র, হ্যাশভ্যালু দিয়ে একটি টি কে আবৃত করে। টির জন্য স্টোরেজের পাশাপাশি সেই অতিরিক্ত বুল ক্ষেত্রটি মেমোরিতে সংরক্ষণ করা হবে # সিলে # যুক্তযোগ্য সিনট্যাক্সের জন্য অযোগ্য মান প্রকারের জন্য ক্ষেত্রটি ব্যবহার করে এমন অন্তর্নিহিত ক্রিয়াগুলি গোপন করে।
ধারণাগতভাবে, কোডটি এর মতো দেখাচ্ছে:
int? x = 0; // অনুবাদ করে x.ভ্যালু = 0; x.HasValue = সত্য; int? x = নাল; // অনুবাদ করুন x.HasValue = মিথ্যা;
যে কোনও পরিস্থিতিতে যেখানে মান ধরণের সমস্ত বিট নিদর্শন বৈধ, যেমন, পূর্ণসংখ্যাসমূহ, সেখানে বৈধ মান আছে কিনা বা ভেরিয়েবলটি নাল হিসাবে বিবেচনা করা উচিত কিনা তা দেখাতে ভাষার জন্য কিছু প্রকারের অতিরিক্ত ক্ষেত্র বা সূচক যুক্ত করতে হবে। তত্ত্ব অনুসারে, যদি সংকলকটি জানত যে কিছু বিট নিদর্শন বৈধ মান নয় তবে এটি নাল মান নির্দেশ করতে এবং কোনও অতিরিক্ত সঞ্চয়স্থান ব্যবহার না করার জন্য অবৈধ প্যাটার্নগুলির মধ্যে একটি ব্যবহার করতে পারে। বাস্তবে যদিও এটি অসম্ভব বলে মনে হচ্ছে তাই আপনি সর্বদা মেমরির একরকম অতিরিক্ত পরিমাণ ব্যবহার করা দেখতে যাচ্ছেন।
নলেবল স্ট্রাক্ট (সিস্টেম)
উত্তর 2:
প্রোগ্রামিং ভাষা কীভাবে প্রয়োগ করা হয় তার উপর এটি সম্পূর্ণ নির্ভর করে। হার্ডওয়্যার এবং নির্দিষ্ট সংকলকগুলির উপর নির্ভর করে একই ভাষাটি বিভিন্নভাবে প্রয়োগ করা যেতে পারে।
অনেক ভাষায়, ভেরিয়েবল একটি নির্দিষ্ট মেমরি অবস্থান সনাক্ত করে যেখানে আসল ডেটা সংরক্ষণ করা হয় said যদি ভেরিয়েবলের মান থাকে তবে শূন্যও, অবস্থান নির্ধারণ করা হবে। যদি এটি নাল হয়, অবস্থানটি নিজেই অর্থহীন মান, শূন্য বা অন্যথায় সেট করা হবে।
উত্তর 3:
প্রোগ্রামিং ভাষা কীভাবে প্রয়োগ করা হয় তার উপর এটি সম্পূর্ণ নির্ভর করে। হার্ডওয়্যার এবং নির্দিষ্ট সংকলকগুলির উপর নির্ভর করে একই ভাষাটি বিভিন্নভাবে প্রয়োগ করা যেতে পারে।
অনেক ভাষায়, ভেরিয়েবল একটি নির্দিষ্ট মেমরি অবস্থান সনাক্ত করে যেখানে আসল ডেটা সংরক্ষণ করা হয় said যদি ভেরিয়েবলের মান থাকে তবে শূন্যও, অবস্থান নির্ধারণ করা হবে। যদি এটি নাল হয়, অবস্থানটি নিজেই অর্থহীন মান, শূন্য বা অন্যথায় সেট করা হবে।
উত্তর 4:
প্রোগ্রামিং ভাষা কীভাবে প্রয়োগ করা হয় তার উপর এটি সম্পূর্ণ নির্ভর করে। হার্ডওয়্যার এবং নির্দিষ্ট সংকলকগুলির উপর নির্ভর করে একই ভাষাটি বিভিন্নভাবে প্রয়োগ করা যেতে পারে।
অনেক ভাষায়, ভেরিয়েবল একটি নির্দিষ্ট মেমরি অবস্থান সনাক্ত করে যেখানে আসল ডেটা সংরক্ষণ করা হয় said যদি ভেরিয়েবলের মান থাকে তবে শূন্যও, অবস্থান নির্ধারণ করা হবে। যদি এটি নাল হয়, অবস্থানটি নিজেই অর্থহীন মান, শূন্য বা অন্যথায় সেট করা হবে।
উত্তর 5:
প্রোগ্রামিং ভাষা কীভাবে প্রয়োগ করা হয় তার উপর এটি সম্পূর্ণ নির্ভর করে। হার্ডওয়্যার এবং নির্দিষ্ট সংকলকগুলির উপর নির্ভর করে একই ভাষাটি বিভিন্নভাবে প্রয়োগ করা যেতে পারে।
অনেক ভাষায়, ভেরিয়েবল একটি নির্দিষ্ট মেমরি অবস্থান সনাক্ত করে যেখানে আসল ডেটা সংরক্ষণ করা হয় said যদি ভেরিয়েবলের মান থাকে তবে শূন্যও, অবস্থান নির্ধারণ করা হবে। যদি এটি নাল হয়, অবস্থানটি নিজেই অর্থহীন মান, শূন্য বা অন্যথায় সেট করা হবে।