সি ++ নোটস: অ্যারে ইনিশিয়ালাইজেশনে অ্যারে সূচনা করার ক্ষেত্রে একটি দুর্দান্ত তালিকা রয়েছে। আমার আছে একটি
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থেকে পরোক্ষভাবে রূপান্তরিত করা হবে এবং নির্ধারিত হচ্ছে কিছু ।