এখানে আরও একটি উত্তর দেওয়া হয়েছে যা এখনও কেউ মনে করেনি। forলুপগুলি যখন ব্যবহার করা উচিত যখন আপনি একটি ক্রম উপর পুনরাবৃত্তি প্রয়োজন । !=লুপের জন্য সমাপ্তির শর্তটি উল্লেখ করার সর্বাধিক সংক্ষিপ্ত পদ্ধতিটি ব্যবহার করা Using তবে, কম সীমাবদ্ধ অপারেটর ব্যবহার করা একটি খুব সাধারণ ডিফেন্সিভ প্রোগ্রামিং আইডিয়াম om পূর্ণসংখ্যার ক্ষেত্রে এটি কোনও ব্যাপার নয় - এটি একটি আরও নির্দিষ্ট উদাহরণ ছাড়া কেবল একটি ব্যক্তিগত পছন্দ। !=অন্যরা যে কারণে বলেছে সে কারণে আপনি পুনরাবৃত্তকারীদের সাথে সংগ্রহের উপরে লুপিং । আপনি যদি floatবা এর ক্রমগুলি বিবেচনা করেন doubleতবে আপনি যে কোনও !=মূল্যে এড়াতে চান ।
আমি যেটা উল্লেখ করতে চেয়েছিলাম তা হ'ল এটি forযখন ব্যবহৃত হয় যখন আপনাকে কোনও অনুক্রমের উপর পুনরাবৃত্তি করতে হবে। উত্পন্ন ক্রমের একটি প্রারম্ভিক বিন্দু, একটি বিরতি এবং একটি সমাপ্তি শর্ত রয়েছে। এগুলি forবিবৃতিতে সংক্ষিপ্তভাবে নির্দিষ্ট করা হয় । আপনি যদি নিজেকে খুঁজে পান (1) এর পদক্ষেপের অংশটি অন্তর্ভুক্ত না করে forবা (2) trueগার্ডের শর্ত হিসাবে কিছু নির্দিষ্ট করে , তবে আপনার কোনও forলুপ ব্যবহার করা উচিত নয় !
whileলুপ প্রক্রিয়াকরণ অব্যাহত রাখার জন্য যখন একটি নির্দিষ্ট শর্ত পূরণ করা হয় ব্যবহার করা হয়। আপনি যদি সিকোয়েন্সটি প্রক্রিয়াজাত না করে থাকেন তবে সম্ভবত whileপরিবর্তে আপনি একটি লুপ চান । গার্ড শর্তের যুক্তিগুলি এখানে একই রকম, তবে একটি whileএবং forলুপের মধ্যে সিদ্ধান্তটি খুব সচেতন হওয়া উচিত। whileলুপ আইএমও সি ++ চেনাশোনার মধ্যে কম প্রশংসা।
আপনি যদি আইটেমগুলির সংগ্রহের প্রক্রিয়াজাতকরণ করছেন (খুব সাধারণ- forলুপ ব্যবহার), তবে আপনার সত্যিকার অর্থে আরও একটি বিশেষ পদ্ধতি ব্যবহার করা উচিত। দুর্ভাগ্যক্রমে, std::for_eachবেশ কয়েকটি কারণে সি ++ এ বেশ বেদনাদায়ক। অনেক ক্ষেত্রে forফ্রি-স্ট্যান্ডিং ফাংশনে একটি লুপের শরীরকে পৃথক করা (কিছুটা বেদনাদায়ক হয়ে থাকে) এর ফলে অনেকগুলি পরিষ্কার সমাধান হয়। যখন সংগ্রহের সঙ্গে কাজ, বিবেচনা std::for_each, std::transformঅথবা std::accumulate। অনেক অ্যালগরিদমের বাস্তবায়ন সংক্ষিপ্ত এবং স্ফটিক পরিষ্কার হয়ে যায় যখন এই উপায়ে প্রকাশ করা হয়। লুপের শরীরকে পৃথক ফাংশন / পদ্ধতিতে বিচ্ছিন্ন করা আপনাকে অ্যালগরিদম, তার ইনপুট প্রয়োজনীয়তা এবং ফলাফলগুলিতে মনোনিবেশ করতে বাধ্য করে।
আপনি যদি জাভা, পাইথন, রুবি বা এমনকি সি ++ 0 এক্স ব্যবহার করছেন তবে আপনার সঠিক সংগ্রহের অগ্রভাগ লুপ ব্যবহার করা উচিত । সি ++ কম্পাইলাররা এই বৈশিষ্ট্যটি বাস্তবায়িত করার সাথে সাথে এই forধরণের আলোচনার মতো অনেকগুলি লুপ অদৃশ্য হয়ে যাবে।
int i = 10; while(i --> 0) { /* stuff */ }