কোনও অন্তর্নিহিত ক্রিয়াকলাপের উপর নো থ্রো স্পেসিফিকেশন যা কেবল কোনও সদস্যের পরিবর্তনশীলকে ফিরিয়ে দেয় এবং সম্ভবত ব্যতিক্রমগুলি ছুঁড়ে ফেলতে পারে না হতাশার জন্য কিছু সংকলক (অপ্টিমাইজেশনের বিপরীতে তৈরি একটি শব্দ) ব্যবহার করতে পারে যা কার্য সম্পাদনে ক্ষতিকারক প্রভাব ফেলতে পারে। এটি বুস্ট সাহিত্যে বর্ণিত হয়েছে: ব্যতিক্রম-নির্দিষ্টকরণ
সঙ্গে কিছু কম্পাইলার নন-ইনলাইন ফাংশনগুলিতে নো-থ্রোল স্পেসিফিকেশন উপকারী হতে পারে যদি সঠিক অনুকূলতা তৈরি হয় এবং সেই ফাংশনটির ব্যবহার পারফরম্যান্সকে এমনভাবে প্রভাবিত করে যে এটি তার ন্যায্যতা প্রমাণ করে।
আমার কাছে মনে হচ্ছে এটি ব্যবহার করা উচিত বা না, কোনও পারফরম্যান্স অপটিমাইজেশন চেষ্টার অংশ হিসাবে সম্ভবত প্রোফাইলিং সরঞ্জামগুলি ব্যবহার করে একটি অত্যন্ত সমালোচিত চোখের কল।
তাড়াহুড়ো করে তাদের জন্য উপরের লিঙ্কের একটি উদ্ধৃতি ( একটি নিষ্পাপ সংকলক থেকে একটি ইনলাইন ফাংশনটিতে নিক্ষেপ নির্দিষ্ট করে দেওয়ার খারাপ অনিচ্ছাকৃত প্রভাবগুলির উদাহরণ রয়েছে ):
ব্যতিক্রম-নির্দিষ্টকরণের যুক্তি
ব্যতিক্রম স্পেসিফিকেশন [আইএসও 15.4] কখনও কখনও কোন ব্যতিক্রম নিক্ষিপ্ত হতে পারে তা নির্দেশ করার জন্য কোড করা হয় বা প্রোগ্রামার আশা করে যে তারা কার্য সম্পাদন করবে improve তবে স্মার্ট পয়েন্টার থেকে নিম্নলিখিত সদস্যটিকে বিবেচনা করুন:
টি ও অপারেটর * () কনট থ্রো () {রিটার্ন * পিটিআর; }
এই ফাংশনটি অন্য কোনও ফাংশন কল করে না; এটি কেবলমাত্র পয়েন্টারগুলির মতো মৌলিক ডেটা ধরণের হেরফের করে তাই ব্যতিক্রম-নির্দিষ্টকরণের কোনও রানটাইম আচরণ কখনই চাওয়া যায় না। ফাংশনটি সম্পূর্ণরূপে সংকলকের কাছে প্রকাশিত হয়; প্রকৃতপক্ষে এটি ইনলাইন হিসাবে ঘোষিত হয়েছে সুতরাং, একটি স্মার্ট সংকলক সহজেই অনুমান করতে পারে যে ফাংশনগুলি ব্যতিক্রম ছোঁড়াতে অক্ষম, এবং খালি ব্যতিক্রম-স্পেসিফিকেশনের উপর ভিত্তি করে এটি একই অপটিমাইজেশন করতে পারে। একটি "বোবা" সংকলক অবশ্য সমস্ত ধরণের হতাশাকে তৈরি করতে পারে।
উদাহরণস্বরূপ, কিছু সংকলক যদি ব্যতিক্রম-নির্দিষ্টকরণ থাকে তবে ইনলাইনিং বন্ধ করে দেয়। কিছু সংকলক চেষ্টা / ধরার ব্লকগুলি যুক্ত করে। এই ধরনের হতাশা একটি পারফরম্যান্স দুর্যোগ হতে পারে যা কোডিক ব্যবহারিক প্রয়োগগুলিতে অকেজো করে তোলে।
যদিও প্রাথমিকভাবে আবেদন করা যায়, একটি ব্যতিক্রম-নির্দিষ্টকরণের এমন পরিণতি ঘটে যা বোঝার জন্য খুব সতর্ক চিন্তা প্রয়োজন। ব্যতিক্রম-স্পেসিফিকেশনগুলির সাথে সবচেয়ে বড় সমস্যাটি হ'ল প্রোগ্রামাররা সেগুলিকে ব্যবহার করে যদিও প্রোগ্রামার তাদের পছন্দসই প্রভাব রাখে, প্রকৃতপক্ষে তার প্রভাবের পরিবর্তে।
একটি অন-ইনলাইন ফাংশন হ'ল এক জায়গায় "কিছুই নিক্ষেপ করে না" ব্যতিক্রম-নির্দিষ্টকরণের কিছু সংকলকগুলির সাথে কিছু সুবিধা থাকতে পারে।