English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تعليميات C++ الأساسية

C++ التحكم في العملية

وظائف C++

C++ مصفوفات & 字وعات

C++ بنية البيانات

C++ فئات & أجهزة

الإشارات في C++

الوراثة في C++

تعليميات STL C++

دليل مرجع C++

استخدام دالة C++ map cend() و مثال

STL map (المحول) في C++

C ++ map cend()الوظيفة تستخدم لاسترجاع مرجع ثابت إلى مرجع ثابت يقع بجانب آخر عنصر في map.

ملاحظة: - هذا هو مكان استبدال. لا يوجد عنصر في هذا المكان، وسيكون تصرف محاولة الوصول غير محدد.

القواعد

const_iterator cend() const noexcept; // بدءاً من C++ 11

ملاحظة: const_iterator هو مرجع إلى محتوى ثابت.

المتغيرات

لا يوجد

الناتج

يسترجع مرجع ثابت إلى آخر عنصر في map.

المثال 1

دعونا نرى مثال بسيط لدالة cend().

#include <iostream>
#include <map>
using namespace std;
int main ()
{
  map<char, int> mymap;
  mymap['b'] = 100;
  mymap['a'] = 200;
  mymap['c'] = 300;
  // طباعة المحتوى:
  cout << 'mymap يحتوي على:';
  for (auto it = mymap.cbegin(); it != mymap.cend(); ++it)
    cout << ' ' << (*it).first << ':' << (*it).second << ']';
  cout << '\n';
  return 0;
}

الناتج:

طباعة المحتوى: [a:200] [b:100] [c:300]

في المثال السابق، تم استخدام دالة cend() لاسترجاع مرجع إلى آخر عنصر في محتوى mymap.

المثال 2

دعونا نرى مثال بسيط باستخدام حلقة for-each لاستكشاف map.

#include <iostream>
#include <map>
#include <string>
#include <iterator>
#include <algorithm>
 
using namespace std;
 
int main() {
 
	  map<string, int> m;
  m["Room1"] = 100;
  m["Room2"] = 200;
  m["Room3"] = 300;
 
	// إنشاء م迭代ر واستهداف بداية الخريطة
	map<string, int>::iterator it = m.begin();
	// لكل من وLambda وظيفة استخدام std::الاستدلال map
	for_each(m.cbegin(), m.cend(),
		[](pair<string, int> element){
				    
		// من خلال العنصر الوصول إلى KEY
		 string word = element.first;
		// از عنصر برای دسترسی به VALUE استفاده می‌شود.
		int count = element.second;
		cout << word << " = " << count << endl;
	});
 
	return 0;
}

الناتج:

Room1 = 100
Room2 = 200
Room3 = 300

در مثال بالا از الگوریتم‌های STL std::for_each برای جستجو در map استفاده کردیم. این الگوریتم در هر عنصر map می‌چرخد و یک کالبد به آن ارائه می‌دهد.

مثال 3

دعنا مثالی ساده‌ای از استفاده از حلقه while برای جستجو در map را ببینیم.

#include <iostream>
#include <map>
#include <string>
int main()
{
    using namespace std;
 
      map<int, string> mymap = {
                { 100, "Nikita"},
                { 200, "Deep" }};
                { 300, "Priya" },
                { 400, "Suman" },
                { 500, "Aman" }};
 
    map<int, string>::const_iterator it; // یک iterator تعریف می‌شود
    it = mymap.cbegin(); // به ابتدای توپولوژی بازمی‌گردد
    while (it != mymap.cend())
    {
        cout << it->first << " = " << it->second << "\n"; 
        // چاپ مقدار عنصر به که به آن اشاره می‌کند
        ++it; // وانتقال به عنصر بعدی
    }
    cout << endl;
}

الناتج:

100 = Nikita
200 = Deep
300 = Priya
400 = Suman
500 = Aman

في المثال أعلاه، يستخدم دالة cend() لتحديد مؤشر إلى المكون التالي للعنصر الأخير في محول mymap.

مثال 4

دعنا مثالی ساده‌ای را ببینیم.

#include <iostream>
#include <string>
#include <map>
using namespace std;
int main ()
{
  map<int, int> mymap = {
                { 10, 10 },
                { 20, 20 },
                { 30, 30 } };
          
                
  cout << "عنصر هو:" << endl;
 
    for (auto it = mymap.cbegin(); it != mymap.cend(); ++it)
    cout << it->first 
    << " + " 
    << it->second 
    << " = "
    <<it->first + it->second
    }
    auto ite = mymap.cend();
 
    cout << "النهاية العنصرية (الإشارة إلى الأخير): ";
    cout << "{" << ite->first << ", ";
         << ite->second << "}\n";
  return 0;
  }

الناتج:

العنصر هو:
10 + 10 = 20
20 + 20 = 40
30 + 30 = 60
النهاية العنصرية (الإشارة إلى الأخير): {3، 0}

في المثال أعلاه، يستخدم دالة cend() لتحديد مؤشر إلى المكون التالي للعنصر الأخير في محول mymap.

STL map (المحول) في C++