سؤال

وهذا ينبغي أن تكون تافهة ولكن أنا لا يمكن أن يبدو للعثور عليه (إلا إذا كان لا يوجد مثل هذه الطبقة موجودة!)

ما هي المحكمة الخاصة بلبنان الطبقة (أو مجموعة من الطبقات) الذكية المؤشرات ؟

التحديث

شكرا على الردود ،
يجب أن أقول أنا مندهش لا يوجد معيار التنفيذ.

انتهى بي الأمر باستخدام هذا واحد: http://archive.gamedev.net/reference/articles/article1060.asp

هل كانت مفيدة؟

المحلول

باستثناء بالفعل satellite TR1 shared_ptr لا توجد أي إشارة احتساب المؤشر في المحكمة الخاصة بلبنان.

أقترح عليك استخدام دفعة::shared_ptr (تحميل دفعة سوف يكون كافيا, لا يوجد شيء إلى ترجمة ، هي رأس فقط).

قد ترغب أيضا في إلقاء نظرة على المؤشرات الذكية من لوكي المكتبات (مرة أخرى ، رأس فقط التنفيذ).

للحصول على نظرة عامة حول المتاحة المؤشرات الذكية ، انظر هناك.

نصائح أخرى

إذا كنت لا تريد/لا يمكن استخدام دفعة و مترجم تنفذ TR1, يمكنك استخدام shared_ptr (اقترضت من دفعة):

#include <tr1/memory>

...

std::tr1::shared_ptr<Foo> ptr(new Foo);

وإلا, لا, لا توجد مؤشرات الذكية إلا std::auto_ptr في الفانيليا الخاصة بلبنان.

الوقت يسير في C++11:

std::shared_ptr
std::weak_ptr

الخ.

عن كائنات COM, استخدام CComPtr<>.

هناك بديل تنفيذها لبعض الوقت في المحكمة الخاصة بلبنان بالاضافة الى ذلك ، ترى في المصدر فورج

"STLplus was originally intended as a library to extend the STL by providing missing container data structures such as smart-pointers, matrices, trees and graphs."

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top