জিসিসি এর একটি নতুন অপ্টিমাইজার বৈশিষ্ট্য রয়েছে : এটি ধরে নেওয়া হয় যে thisসর্বদা বাতিল হয় না এবং এর ভিত্তিতে অনুকূলিত হয়।
মান পরিসীমা প্রচার এখন ধরে নেওয়া হয়েছে যে সি ++ সদস্য ফাংশনের এই পয়েন্টারটি নাল নয়। এটি সাধারণ নাল পয়েন্টার চেকগুলি সরিয়ে দেয় তবে কিছু অ-অনুসারী কোড-বেসগুলিকেও ভেঙে দেয় (যেমন Qt-5, ক্রোমিয়াম, কেডেভলফ) । অস্থায়ী কাজ হিসাবে প্রায় -Fno-মুছা-নাল-পয়েন্টার-চেক ব্যবহার করা যেতে পারে। -ফ্যাসানাইটিজ = অপরিজ্ঞাত ব্যবহার করে ভুল কোড চিহ্নিত করা যায়।
পরিবর্তন দস্তাবেজটি স্পষ্টতই এটি বিপজ্জনক হিসাবে আখ্যায়িত করে কারণ এটি প্রায়শই ব্যবহৃত কোডের একটি বিস্ময়কর পরিমাণ ভঙ্গ করে।
এই নতুন অনুমানটি ব্যবহারিক সি ++ কোডটি কেন ভেঙে দেবে? এমন কোনও নিদর্শন রয়েছে যেখানে অযত্ন বা অজানা প্রোগ্রামাররা এই নির্দিষ্ট অপরিজ্ঞাত আচরণের উপর নির্ভর করে? আমি কারও লেখার কল্পনাও করতে পারি না if (this == NULL)কারণ এটি এতটাই অপ্রাকৃত।
thisএটি একটি অন্তর্নিহিত পরামিতি হিসাবে গৃহীত হয়েছে, তাই তারা তখন এটি একেবারে সুস্পষ্ট পরামিতি হিসাবে ব্যবহার করা শুরু করে। এটা না। আপনি যখন কোনও শূন্য বিষয়টিকে অবলম্বন করেন, আপনি ইউবিটিকে ঠিক তেমনভাবে অনুরোধ করছেন যেন আপনি অন্য কোনও নাল পয়েন্টারকে অবজ্ঞা করেন। এটুকুই আছে। আপনি যদি নাল্পটারগুলি চারপাশে পাস করতে চান তবে একটি সুস্পষ্ট প্যারামিটার, DUH ব্যবহার করুন । এটি কোনও ধীর গতির হবে না, এটি কোনও আঠালো হবে না এবং যেমন এপিআই রয়েছে এমন কোডটি অভ্যন্তরীণ অঞ্চলে যেভাবেই গভীর, তাই খুব সীমিত সুযোগ রয়েছে। গল্পের শেষে আমার মনে হয়।