English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Stack (الجمع) الخاصة بـ C++ STL
C ++堆栈 emplace()函数在当前顶部元素上方的堆栈顶部添加一个新元素。现在,我们有了一个已经存在元素的堆栈,我们希望在堆栈中插入或推入一个新元素,为此,我们使用了此函数。
template <class... Args> void emplace (Args&&... args);
args: 参数转发用于构建新元素的参数。也就是说,由args指定的元素将插入到当前顶部元素上方的堆栈中。现在,新插入的元素成为顶部元素,并且所有推入和弹出操作都在其上执行。
يستخدم هذا الدالة فقط لإضافة عنصر جديد ولا تعود بأي قيمة. لذلك، نوع العودة للدالة هو void.
//يوضح هذا البرنامج استخدام دالة emplace من خلال إضافة اثنين من الأنماط البسيطة في أعلى المخزن وطباعتها.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("أنا الأول"); newstack.emplace("أنا الثاني"); cout << "محتويات newstack: \n"; while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
الإخراج:
محتويات newstack: أنا الثاني أنا الأول
//يوضح هذا البرنامج استخدام دالة emplace من خلال إضافة جدول 11 ثم طباعته.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("11"); newstack.emplace("22"); newstack.emplace("33"); newstack.emplace("44"); newstack.emplace("55"); newstack.emplace("66"); newstack.emplace("77"); newstack.emplace("88"); newstack.emplace("99"); newstack.emplace("121"); cout << "محتويات newstack: \n"; cout << "جدول 11"; while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
الإخراج:
محتويات newstack: جدول 11121 99 88 77 66 55 44 33 22 11
//يوضح هذا البرنامج استخدام دالة emplace من خلال إضافة اثنين من الأنماط البسيطة في أعلى المخزن وطباعتها.
#include<iostream> #include<stack> #include<string> using namespace std; int main() { stack<string> newstack; newstack.emplace("نستطيع رؤية تطبيق دالة emplace في المخزن هنا"); newstack.emplace("النموذج الجديد المضاف في أعلى المخزن"); while (!newstack.empty()) { cout << newstack.top() << "\n"; newstack.pop(); } return 0; }
الإخراج:
يتم إضافة العنصر الجديد الذي أضافته الوظيفة إلى قمة الدليل يمكننا رؤية تطبيق وظيفة emplace في الدليل هنا
تم إجراء مكالمة واحدة لـ emplace_back. هذه الوظيفة تستخدم ل插入 عنصر جديد من خلال إجراء مكالمة واحدة.
تم تعديل جميع العناصر الموجودة في الدليل. لأن العنصر تم إضافته إلى القمة، لذا تم تعديل مواضع جميع العناصر الأخرى أيضًا.
يقدم ضماناً يعادل الأداء الذي يتم تنفيذه على عناصر القالب الأساسي.