এখানে আরও একটি উত্তর দেওয়া হয়েছে যা এখনও কেউ মনে করেনি। 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 */ }