পয়েন্টার ইনিশিয়ালাইজেশন
C++-এ NULL ম্যাক্রো সাধারণত 0 হিসেবে ডিফাইন করা থাকে। দুটোই ইন্টিজার লিটারেল।
তিনটি অপশন
float *p1 = NULL; // C-স্টাইল, 0-এ কনভার্ট
float *p2 = 0; // সরাসরি ০
float *p3 = nullptr; // C++11: টাইপ-সেফ নাল পয়েন্টার লিটারেল (recommended)
কেন nullptr ভালো?
- টাইপ-সেফ: শুধু পয়েন্টার কনটেক্সটে ব্যবহার করা যায়, ইন্টিজার কনটেক্সটে নয়।
- অ্যাম্বিগুইটি এড়ায়: ওভারলোডেড ফাংশন কলে
NULLবা0ইন্টিজার হিসেবে মনে হয়ে ভুল ওভারলোড বেছে নিতে পারে। - আধুনিক C++ (C++11 এবং পরবর্তী) স্ট্যান্ডার্ড।
সুপারিশ: সবসময় nullptr ব্যবহার করুন।