https://code.google.com/p/cpp-btree/
تستخدم BTree بدلا من RedBlackTree المستخدمة في STL
http://google-opensource.blogspot.in/2013/01/c-containers-that-save-memory-and-time.html
https://code.google.com/p/cpp-btree/
تستخدم BTree بدلا من RedBlackTree المستخدمة في STL
http://google-opensource.blogspot.in/2013/01/c-containers-that-save-memory-and-time.html
تم تعديل هذه المشاركة بواسطة ahmed_youssef في 3 فبراير 2013 في 16:08
(map share people)
فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader
جزاك الله خيراً، لدي سؤال:
Unlike the standard container types, insertions and deletions invalidate outstanding iterators
ألا يحدث هذا في الـSTL Containers أيضاً؟
هذه الجملة خاطئة :wacko:
على حدعلمي، فال Invalidation لل Iterator تختلف من عملية لأخرى ، وكذلك بحسب الحاوية. بعكس ماتذكره google أنها في "جميع" العمليات سيحصل Invalidation
إذا مخطئ ياريت أحد يصححلي :)
تم تعديل هذه المشاركة بواسطة ahmed_youssef في 4 فبراير 2013 في 12:49
(map share people)
فضلا لاتقم بمراسلتي من أجل أسئلة لها أقسامها في المنتدى حتى تعم الفائدة على الجميع وللحصول على إجابات أفضل من أعضاء أكثر خبرة.
Weblog
@bitbucket
@xmonader
http://stackoverflow.com/questions/6438086/iterator-invalidation-rules
يبدو أنني كنت مخطئاً، الـinvalidation يحصل في حاويات أخرى كـvector. أما الـmap والـset فلا يحدث فيها.
هذه الجملة خاطئة :wacko:
اقتباسيبدو أنني كنت مخطئاً، الـinvalidation يحصل في حاويات أخرى كـvector. أما الـmap والـset فلا يحدث فيها.
أخي لاحظ أنه في حالة أي عملية تقوم بتعديل الشجرة, في حالة الـ Containers الجديدة من Google فإن الـ Iterators تعتبر غير صالحة بعد تلك العملية. السبب بسيط, هو أن كل Node في الـ B-Tree تحمل أكثر من قيمة و بالتالي فإنه من غير الممكن (عملياً) تحديد أي Node تم تعديلها و بالتالي أي مجموعة قيمة تم تعديلها و بالتالي لا يمكن ضمان صلاحية الـ Iterators بعد هكذا عملية.
هناك مكتبة من Boost من أحد مؤسسيها في الحقيقة تقترح إضافة B-Tree Containers و لكن للـ Disk-Based و لكن لم يتم ضمها بعد, يمكنك الاطلاع عليها من هنا: https://github.com/Beman/Boost-Btree
تحياتي...