আমি সম্প্রতি এই প্রোগ্রামিং প্রতিভা জুড়ে এসেছি:
const float Zero = 0.0;
যা তখন তুলনায় ব্যবহৃত হয়:
if (x > Zero) {..}
এটির তুলনায় এটি যদি আরও দক্ষ বা পাঠযোগ্য বা রক্ষণাবেক্ষণযোগ্য হয় তবে কি কেউ ব্যাখ্যা করতে পারবেন:
if (x > 0.0) {..}
দ্রষ্টব্য: আমি এই ধ্রুবকটি সংজ্ঞায়িত করার জন্য অন্যান্য কারণগুলি সম্পর্কে ভাবতে পারি, আমি কেবল এই প্রসঙ্গে এর ব্যবহার সম্পর্কে ভাবছি ।
x
টাইপ থাকে float
, তবে x > 0.0
পদোন্নতির দিকে জোর দেয় double
, যা কম দক্ষ হতে পারে। যদিও আপনার ধ্রুবকের সঠিক ধরণের (উদাহরণস্বরূপ 0f
, float(0)
বা decltype(x)(0)
) সঠিক ধরণের রয়েছে তা নিশ্চিত করার জন্য এটি নামকরণকৃত ধ্রুবক ব্যবহারের পক্ষে ভাল কারণ নয় ।
13.37
নয় float
, এটি double
। সুতরাং আপনি যদি একটি চাইতেন float
তবে এটি অনুগ্রহযোগ্য আপনার শিক্ষিকাটি সঠিক ছিল। কিছু প্রসঙ্গে (যেমন একটি ফ্লোটে অ্যাসাইনমেন্ট) 13.37
স্পষ্টতই float
আপনি যা চান তা রূপান্তরিত হবে এবং অন্যান্য প্রসঙ্গে (যেমন টেমপ্লেটের ধরণের ছাড়) হবে না, তবে static const float
সর্বদা আপনি যে ধরণের উদ্দেশ্যটি চেয়েছিলেন তা শুরু হয়। অতএব, আরও টাইপ-নিরাপদ। মনে মনে, তাই হবে 13.37f
! "টাইপ-সেফটি" বাদে ম্যাক্রো এড়ানোর অন্যান্য কারণও রয়েছে, তবে, সম্ভবত শিক্ষক সম্ভবত আপনাকে একটি তর্ক বিতর্ক দিচ্ছিলেন।