নিম্নলিখিত switchবিবৃতি বিবেচনা করুন :
switch( value )
{
case 1:
return 1;
default:
value++;
// fall-through
case 2:
return value * 2;
}
এই কোডটি সংকলন করে তবে এটি কি সি 90 / সি 99 এর জন্য বৈধ (= সংজ্ঞায়িত আচরণ)? আমি কখনই এমন কোড দেখিনি যেখানে ডিফল্ট কেসটি সর্বশেষ ঘটনা নয়।
সম্পাদনা করুন:
হিসাবে জন কেজ এবং KillianDS লিখুন: এই সত্যিই কুশ্রী এবং কোড বিভ্রান্তিকর এবং আমি তা ভাল সচেতন নই। আমি কেবল সাধারণ বাক্য গঠন (এটি সংজ্ঞায়িত?) এবং প্রত্যাশিত আউটপুট সম্পর্কে আগ্রহী।
gotoমন্দ নয়। কার্গো ধর্মের অনুসারীরা হলেন! লোকেরা কী কী চূড়ান্ত তা এড়াতে পারে তা আপনি কল্পনা করতে পারেননি gotoকারণ এটি অত্যন্ত খারাপ, তাদের কোডের সত্যিকারের অপঠনযোগ্য গোলযোগ তৈরি করে।
gotoপ্রধানত finallyফাংশনগুলির মধ্যে একটি ধারাটির মতো কিছু অনুকরণ করতে ব্যবহার করি , যেখানে থামার সময় রিসোর্সগুলি (ফাইল, মেমরি) প্রকাশ করতে হয় এবং প্রতিটি ত্রুটির ক্ষেত্রে একটি তালিকা পুনরাবৃত্তি করে freeএবং closeপাঠযোগ্যতার জন্য সহায়তা করে না। যদিও এর একটি ব্যবহার gotoআমি এড়াতে চাই তবে তা করতে পারি না, যখন আমি কোনও লুপটি ভেঙে ফেলতে চাই এবং আমি switchসেই লুপের মধ্যেই থাকি ।