সি ++ 0x নিম্নলিখিত কোড এবং অনুরূপ কোড অসুস্থ গঠিত করা, কারণ এটি একটি তথাকথিত প্রয়োজন যাচ্ছে সংকীর্ণ রূপান্তর একটি এর double
একটি থেকে int
।
int a[] = { 1.0 };
আমি ভাবছি যে এই ধরণের সূচনাটি বাস্তব বিশ্বের কোডে বেশি ব্যবহৃত হয়। এই পরিবর্তন দ্বারা কতটি কোড ভেঙে যাবে? আপনার কোডটি এটিকে সংশোধন করার জন্য কি অনেক চেষ্টা করা হচ্ছে, যদি আপনার কোডটি কিছুটা প্রভাবিত হয়?
রেফারেন্সের জন্য, এন 3225 এর 8.5.4 / 6 দেখুন
সংকীর্ণ রূপান্তর হ'ল অন্তর্নিহিত রূপান্তর
- ভাসমান-বিন্দু টাইপ থেকে পূর্ণসংখ্যার প্রকারে বা
- দীর্ঘ ডাবল থেকে ডাবল বা ভাসমান, বা দ্বৈত থেকে ভাসা পর্যন্ত, যেখানে উত্সটি একটি ধ্রুবক অভিব্যক্তি এবং রূপান্তরকরণের পরে আসল মান এমন মানগুলির সীমার মধ্যে থাকে যা উপস্থাপিত হতে পারে (এমনকি যদি এটি সঠিকভাবে উপস্থাপন করা যায় না), বা
- একটি পূর্ণসংখ্যা টাইপ বা অপরিশোধিত গণনা প্রকার থেকে শুরু করে fl ওটিং-পয়েন্ট টাইপের দিকে, যেখানে উত্সটি একটি ধ্রুবক অভিব্যক্তি এবং রূপান্তরকরণের পরে আসল মান লক্ষ্যমাত্রার সাথে মানানসই হয় এবং মূল ধরণে ফিরে রূপান্তরিত হলে আসল মান উত্পাদন করে, বা
- একটি পূর্ণসংখ্যা টাইপ বা অপরিশোধিত গণনা টাইপ থেকে একটি পূর্ণসংখ্যার ধরণে যা মূল ধরণের সমস্ত মানকে উপস্থাপন করতে পারে না, উত্সটি ধ্রুবক অভিব্যক্তি এবং রূপান্তরকরণের পরে আসল মান লক্ষ্যমাত্রার সাথে মানানসই হয় এবং আসল মানটি যখন উত্পাদন করে তখন মূল ধরণে ফিরে রূপান্তরিত।