أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

الأسئلة المتداولة حول مكتبة "c + + القياسية"

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

اضغط هنا لرابط المقالة باللغة الانجليزية154419
الموجز
تقدم هذه المقالة قائمة بالأسئلة المتداولة (FAQs) فيما يتعلق بمكتبات "c + + القياسية" والإجابات على هذه الأسئلة. لمزيد من المعلومات حول "مكتبات c + + القياسية"، راجع أنسي المواصفات القياسية ومكتبة MSDN.
معلومات أخرى

الأسئلة المتداولة حول مكتبات c + + القياسية

س 1: ماذا مكتبة "c + + القياسية" تحتوي؟

A1: مكتبة "c + + القياسية" توفر إطارا الموسعة ويحتوي على مكونات دعم اللغة، التشخيص، المرافق العامة، سلاسل، لغات، مكتبة القالب القياسية (الحاويات المكررات، الخوارزميات والقيم الرقمية) والإدخال/الإخراج.

يمكن تقسيم مكتبة "c + + القياسية" إلى الفئات التالية:
  1. توفر مكونات قالب مكتبة (STL) القياسية برنامج C + + بالوصول إلى مجموعة فرعية من الأكثر استخداماً الخوارزميات وداتاستروكتوريس. يمكن تجميع رؤوس STL في مفاهيم التنظيم الرئيسية الثلاثة:
    • الحاويات: فئات قالب هذا الدعم الطرق الشائعة لتنظيم البيانات، مثل <vector>، <list>، <deque>، <stack>، <queue>، <set>، و <map>.</map> </set> </queue> </stack> </deque> </list> </vector>
    • خوارزميات: وظائف قالب لتنفيذ العمليات الشائعة في تسلسل الكائنات، مثل <functional>، <algorithm>، و <numeric>.</numeric> </algorithm> </functional>
    • المكررات: الغراء الذي يلصق الخوارزميات وحاويات معا، مثل <utility>، <iterator>، و <memory>.</memory> </iterator> </utility>
  2. الإدخال/الإخراج تتضمن مكونات للأمام ديكلاراتيونسوف iostreams (<iosfwd>)، معرفة مسبقاً الكائنات iostreams (<iostream>)، iostreams الفئات الأساسية (<ios>)، دفق التخزين المؤقت (<streambuf>)، تنسيق الدفق والمتلاعبين (<iosmanip>، <istream>،<ostream>)، سلسلة التدفقات (<sstream>)، وتدفقات الملف (<fstream>).</fstream> </sstream> </ostream> </istream> </iosmanip> </streambuf> </ios> </iostream> </iosfwd>
  3. رؤوس "c + + القياسية" الأخرى تشمل ما يلي:
    • "دعم اللغة": المكونات للحصول على تعريفات نوع الشائعة المستخدمة في المكتبة (<cstddef>)، الصفات المميزة للأنواع المعرفة مسبقاً (<limits>، <cfloat>، <climits>) وظائف دعم البدء والإنهاء لبرنامج c + +، (<cstdlib>)، الدعم لإدارة الذاكرة الديناميكية (<new>)، الدعم لتعريف نوع الحيوية (<typeinfo>)، الدعم لمعالجة الاستثناء (<exception>)، ودعم وقت التشغيل الأخرى (<cstdarg>، <ctime>، <csetlmp>، <csignal>).</csignal> </csetlmp> </ctime> </cstdarg> </exception> </typeinfo> </new> </cstdlib> </climits> </cfloat> </limits> </cstddef>
    • التشخيص: المكونات لﻹبﻻغ عن عدة أنواع من الحالات الاستثنائية (<stdexcept>)، توثيق التأكيدات برنامج (<cassert>)، ومتغير عمومي للخطأ رقم رموز (<cerrno>).</cerrno> </cassert> </stdexcept>
    • سلاسل: المكونات لفئات سلسلة (<string>) والمرافق سلسلة منتهية بقيمة خالية null (<cctype>، <cwctype>، <cwchar>).</cwchar> </cwctype> </cctype> </string>
    • الترجمة: المكونات التي قد تستخدم برامج c + + لتغليف الاختلافات الثقافية. المرافق المحلية يتضمن دعم التدويل لترتيب التصنيف وسلسلة الأحرف الرقمية، النقدية، وتنسيق التاريخ/الوقت وتوزيع واسترداد الرسائل (<locale>، <clocale>).<b00> </b00> </clocale> </locale>
back to the top

Q2: ما هو الفرق بين مكتبة وقت تشغيل C ومكتبه "c + + القياسية"؟ المكتبات التي ستشمل خيارات برنامج التحويل البرمجي مكتبة وقت التشغيل مثل /ML، /MT، /MD، /MLd، /MTdو /MDd ؟

A2: يتضمن visual c + + 5.0 أو أحدث المكتبات التالية بالإضافة إلى مكتبات Microsoft Foundation فئات (MFC):
  • مكتبة وقت التشغيل C الأساسي
  • مكتبة c + + القياسية
مكتبة الأنواع وتبديلات المحول البرمجي ذات صلةمكتبة وقت تشغيل C الأساسي/مكتبة "c + + القياسية"
مؤشر ترابط واحد (/حركة التحرير)LIBC. LIB/ليبكب. مكتبة
تصحيح المفرد (/MLd)ليبكد. LIB/ليبكبد. مكتبة
متعددة مؤشرات الترابط (/طن متري)LIBCMT. LIB/ليبكبمت. مكتبة
تصحيح أخطاء متعددة مؤشرات الترابط (/مليون دينار)ليبكمتد. LIB/ليبكبمتد. مكتبة
DLL متعددة مؤشرات الترابط (/MD)MSVCRT. LIB/مسفكبرت. مكتبة
تصحيح/DLL متعددة مؤشرات الترابط (MDd)MSVCRTD. LIB/مسفكبرتد. مكتبة
ملاحظة: تم إزالة/ML وخيارات برنامج التحويل البرمجي مكتبة/MLd لمكتبات ثابتة المفرد في Visual c + + 2005 وفي الإصدارات اللاحقة من Visual c + +.

ملاحظة: MSVCPRT.lib و MSVCPRTD.lib المكتبات الثابتة ويكون أي مكتبات الارتباط الحيوي (Dll) مرتبطة مباشرة لهم. هذه المكتبات تعتمد أيضا على MSVCRT.lib و MSVCRTD.lib، على التوالي. إذا كان لديك أية تطبيقات تستخدم MSVCPRT.lib أو MSVCPRTD.lib مع استخدام الخيار "تجاهل مكتبة الافتراضية" (/NOD أو نوديفولتليب)، يجب التأكد من ربط MSVCPRT.lib (أو MSVCPRTD.lib) و MSVCRT.lib (أو MSVCRTD.lib) مع التطبيق الخاص بك. وإلا، سوف تحصل على أخطاء رابط (LNK2001: يتم حلها خارجية في MSVCPRT.lib أو MSVCPRTD.lib) عند ربط التطبيق الخاص بك.) تبعاً الرؤوس استخدمت في التعليمات البرمجية الخاصة بك، يمكن أيضا ربط مكتبة من مكتبة "c + + القياسية".

ملف الرأس <use_ansi.h>يحتوي على عبارات #pragma أن مكتبة "c + + القياسية" لربطها بالقوة. تضمين كافة الرؤوس "c + + القياسية" <use_ansi.h>: إذا قمت بتضمين أي رأس "c + + القياسية" في التطبيق الخاص بك، سيتم ربط مكتبة "c + + القياسية" بشكل افتراضي.</use_ansi.h> </use_ansi.h>

رؤوس c + + القياسية

خوارزمية بيتسيت مركب DEQUE
الاستثناء فستريام الفنية إيومانيب
دائرة الرقابة الداخلية إيوسفود IOSTREAM ISTREAM
مكرر حدود قائمة الإعدادات المحلية
خريطة الذاكرة الرقمية أوستريم
قائمة الانتظار تعيين ستريم مكدس الذاكرة المؤقتة
ستديكسسيبت ستريمبوف سلسلة STRSTREAM
TYPEINFO الأداة المساعدة فالاراي متجه
back to the top

س 3: كيفية احتفظ وظيفة iostream القديمة من Visual c + + 2003. NET أو من الإصدارات السابقة من Visual c + + إذا أنا منفذ المشروع من إصدار سابق؟

A3: إذا أردت الاحتفاظ بمكتبة iostream القديمة (<iostream.h>)، تتضمن واحد أو أكثر من ملفات رأس iostream القديمة في التعليمات البرمجية الخاصة بك. لا تستخدم رؤوس "c + + القياسية" الجديدة. لا يمكن خلط استدعاءات لمكتبة iostream القديمة ومكتبة "c + + القياسية" الجديدة.

</iostream.h>back to the top

س 4: كيف أقوم "مكتبات c + + القياسية" المكتبات الافتراضية ل myapplication؟

A4: إذا كنت تريد "مكتبات c + + القياسية" الافتراضية، تتضمن واحد أو أكثر من رؤوس "c + + القياسية" الجديدة. تذكر، لا يمكن خلط استدعاءات iostream القديمة ومكتبة "c + + القياسية" الجديدة. مكتبات موجودة (ارتباط ثابت أو حيوي) التي تستخدم وظائف سوف تحتاج إلى تعديل لاستخدام دالات iostream مكتبة "c + + القياسية" iostream القديمة.

back to the top

س 5: أريد استخدام "مكتبات c + + القياسية" في تطبيق Microsoft Foundation فئات (MFC). وسوف ثيسكاوسي أية تعارضات مع "مكتبات" وقت التشغيل C؟

A5: "لا". لا يستخدم MFC أية دالات وقت التشغيل C سيتعارض مع "مكتبات c + + القياسية".

back to the top

س 6: لماذا أتلقى الخطأ "خطأ C2065:' cout ': معرف غير معروفة" حتى ولو أدرجت <iostream>؟</iostream>

A6: يتم تطبيق مكتبة c + + القياسية في مساحة الاسم الخاصة به "الانحراف". تأكد من إضافة العبارة
using namespace std;				
في بداية البرنامج أو لتأهيل كل معرف مكتبة "c + + القياسية" مع مساحة الاسم القياسي، على سبيل المثال، std::cout.

back to the top

س 7: لماذا احصل على "خطأ في المحول البرمجي C2371: إعادة تعريف' المعرف '؛ مختلف أنواع أساسية "؟

A7: في إصدارات Visual c + + التي تسبق Visual c + + 2005، خلط رؤوس "c + + القياسية" ورؤوس iostream القديم تسبب هذا الخطأ، حتى إذا كانت مضمنة في ملفات مصدر مختلفة. فيما يلي عناوين مختلفة:

Iostream القديم رؤوس

فستريم. H إيومانيب. H
دائرة الرقابة الداخلية. H IOSTREAM. H
ISTREAM. H أوستريام. H
ستديوستر. H ستريمب. H
سترستريا. H

رؤوس c + + القياسية

خوارزمية بيتسيت مركب DEQUE
الاستثناء فستريام الفنية إيومانيب
دائرة الرقابة الداخلية إيوسفود IOSTREAM ISTREAM
مكرر حدود قائمة الإعدادات المحلية
خريطة الذاكرة الرقمية أوستريم
قائمة الانتظار تعيين ستريم مكدس الذاكرة المؤقتة
ستديكسسيبت ستريمبوف سلسلة STRSTREAM
TYPEINFO الأداة المساعدة فالاراي متجه
back to the top

س 8: لدى مشروع الذي تم إنشاؤه باستخدام الخيار "تجاهل مكتبات الافتراضي" (/NOD أو /NODEFAULTLIB). باستخدام Visual c + + 5.0 أو أحدث، احصل على خطأ رابط "LNK2001: رمز الخارجية المعلقة' رمز '" في جميع استدعاءات الدوال iostream. ما الذي تغير؟

A8: تمت إزالة الوظائف iostream من مكتبة وقت التشغيل C.

إذا كنت تستخدم دالات iostream القديمة، يجب إضافة مكتبة إضافية كما يلي: LIBCI.lib ( <ML>المفرد)، LIBCIMT.lib ( <MT>ذات مؤشرات ترابط متعددة) أو MSVCIRT.lib (dll ذات مؤشرات الترابط المتعددة <MD>). تمت إزالة هذه المكتبات من Visual c + + 2005 والإصدارات اللاحقة من Visual c + +.

إذا كنت تستخدم دالات iostream الجديدة المضمنة مع مكتبة "c + + القياسية"، يجب إضافة مكتبة إضافية كما يلي: LIBCP.lib ( <ML>المفرد)، LIBCPMT.lib ( <MT>ذات مؤشرات ترابط متعددة) أو MSVCPRT.lib (dll ذات مؤشرات الترابط المتعددة <MD>).

لا تخلط إصدارات مختلفة من المكتبات. على سبيل المثال، إذا كنت تستخدم إصدار مكتبة وقت تشغيل C مؤشر ترابط واحد، يجب أيضا استخدام مؤشر ترابط واحد إصدار مكتبة iostream القديمة أو مكتبة "c + + القياسية".

لا يمكن خلط استدعاءات دالات مكتبة iostream القديمة والجديدة دالات iostream مكتبة "c + + القياسية".

</MD></MT></ML></MD></MT></ML>back to the top

س 9: أنني أتلقى تحذيرات المحول البرمجي C4786 و/أو C4788. البرنامج إينمي رموز لا في أي مكان قرب 255 حرفاً في الطول. ما هو كوسينجثيس؟

A9: يتم إصدار C4786/C4788 عندما يتجاوز اسم الرمز 255 حرفاً في الطول. يحدث هذا غالباً باستخدام قالب فئة و STL فئة قالب يستخدم على نطاق واسع.

يتم تجاهل هذا التحذير الأمن عادة. استخدم تحذير #pragma (تعطيل: 4786,4788) منع الرسائل.

back to the top

س 10: احصل على تحذير من المحول البرمجي "C4530: c + + معالج استثناء استخدامه، بوتونويند دلالات غير ممكنة. حدد-GX. " ماذا يعني هذا؟

A10: يجب ترجمة البرامج التي تستخدم مكتبة "c + + القياسية" مع تمكين معالجة الاستثناء c + +. يمكن تمكين معالجة الاستثناء c + +:
  • تحديد خيار تمكين معالجة الاستثناء في فئة لغة c + +C/c + + علامة التبويب في مربع الحوار إعدادات المشروع . -أو-

  • استخدام رمز التبديل /GX برنامج التحويل البرمجي.
back to the top

Q11: احصل على خطأ في المحول البرمجي C2146 متبوعاً C2065، وأخيراً C2143 كافة الإشارة إلى نفس السطر في المصدر الخاص بي. ماذا يعني هذا؟

A11: يمكن أن يحدث هذا التسلسل من الأخطاء حسب نوع البناء التالية:
vector<int, allocator<int>>iV;				
هي السبب في المشكلة التوالي ">>" في نهاية التصريح. الحل وضع مسافة بين حرفين، حيث يصبح البناء:
vector<int, allocator<int> > iV;				
وهذا يتسق مع مواصفات أنسي المقترحة.

back to the top
STL STL. تعيين ح مخصص متجه deque قائمة تعيين مخطط متعدد priority_queue المكدس قائمة انتظار متعدد المجموعات

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 154419 - آخر مراجعة: 04/04/2016 01:38:00 - المراجعة: 6.0

Microsoft Visual C++ 2008 Express Edition

  • kbinfo kbmt KB154419 KbMtar
تعليقات
/body> > © 2016 Microsoft