সি ++ নোটস: অ্যারে ইনিশিয়ালাইজেশনে অ্যারে সূচনা করার ক্ষেত্রে একটি দুর্দান্ত তালিকা রয়েছে। আমার আছে একটি
int array[100] = {-1};
এটি -1 এর সাথে পূর্ণ হবে আশা করে তবে এটি নয়, কেবলমাত্র প্রথম মানটি হবে এবং বাকী 0 টি এলোমেলো মানগুলির সাথে মিশ্রিত হবে।
কোড
int array[100] = {0};
ঠিক সূক্ষ্মভাবে কাজ করে এবং প্রতিটি উপাদানকে 0 তে সেট করে।
আমি এখানে কী মিস করছি ... মান শূন্য না হলে কেউ কি এটি সূচনা করতে পারে না?
এবং 2: ডিফল্ট সূচনা (উপরে হিসাবে) পুরো অ্যারের মাধ্যমে স্বাভাবিক লুপের চেয়ে দ্রুত এবং একটি মান নির্ধারণ করে বা এটি একই কাজ করে?
{0}
স্ট্রাক্ট বা অ্যারেগুলির জন্য কোনও বিশেষ ক্ষেত্রে নয়। নিয়মটি হ'ল কোনও প্রারম্ভিক সরঞ্জামবিহীন উপাদানগুলিকে এমনভাবে আরম্ভ করা হয় যেন তাদের কাছে 0
কোনও আরম্ভকারী হিসাবে রয়েছে। যদি নেস্টেড সমষ্টি (উদাঃ struct x array[100]
) থাকে তবে আরম্ভকারীগুলি "সারি-প্রধান" ক্রমে অ-সমষ্টিগুলিতে প্রয়োগ করা হয়; ব্রেসগুলি বিকল্পভাবে এটি বাদ দেওয়া যেতে পারে। struct x array[100] = { 0 }
সি তে বৈধ; আর সি ++ তে বৈধ, যতক্ষণ না প্রথম সদস্য হিসাবে প্রাথমিক হিসাবে struct X
গ্রহণযোগ্য 0
হয়।
{ 0 }
সি বিশেষ নয়, কিন্তু এটা অনেক বেশি কঠিন একটি ডাটা টাইপ যে এটা দিয়ে সক্রিয়া করা যাবে না যেহেতু কোন কনস্ট্রাকটর এবং এইভাবে বন্ধ করার কোন উপায় সংজ্ঞায়িত করতে এর 0
থেকে পরোক্ষভাবে রূপান্তরিত করা হবে এবং নির্ধারিত হচ্ছে কিছু ।