পরিসীমা ভিত্তিক লুপগুলির কয়েকটি উদাহরণ পড়তে তারা 1 , 2 , 3 , 4 দুটি প্রধান উপায় প্রস্তাব করে
std::vector<MyClass> vec;
for (auto &x : vec)
{
// x is a reference to an item of vec
// We can change vec's items by changing x
}
অথবা
for (auto x : vec)
{
// Value of x is copied from an item of vec
// We can not change vec's items by changing x
}
আমরা হব.
যখন আমাদের vec
আইটেম পরিবর্তন করার প্রয়োজন হয় না , আইএমও, উদাহরণগুলি দ্বিতীয় সংস্করণ (মান অনুসারে) ব্যবহার করার পরামর্শ দেয়। কেন তারা এমন কিছু প্রস্তাব দেয় না যা const
উল্লেখ করে (কমপক্ষে আমি সরাসরি কোনও পরামর্শ পাইনি):
for (auto const &x : vec) // <-- see const keyword
{
// x is a reference to an const item of vec
// We can not change vec's items by changing x
}
ভাল না? এটি প্রতিটি যখন পুনরাবৃত্তির অনর্থক অনুলিপিটি এড়ায় না const
?
const auto &x
আপনার তৃতীয় পছন্দের সমান এটিও নির্দেশ করা উচিত ।