تمكنت C ++ ^ (مقبض) -> ما هو عليه، وكيف أنها لا تتصل المراجع ومؤشرات
-
10-07-2019 - |
سؤال
ما هو الفرق بين مؤشر إلى كائن في إدارتها C ++
ومثل:
System::String^ str = gcnew System::String();
ووالعادي C ++ المؤشرات؟
وأيضا كيف أنها لا تتصل المراجع لدينا في C #؟
المحلول
وأنت لا نتحدث عن (كبار السن) C ++ المدارة، ولكن حول C ++ / CLI، أليس كذلك؟
في C #، الشفرة ما يعادل
System.String str=new System.String();
في C ++ / CLI، مؤشر إلى كائن هو نفسه فقط كمرجع في C # - لديك حساب مرجع، جامع القمامة الخ
والعادية C ++ مؤشرات، من ناحية أخرى، هي (في معظم الحالات) مؤشرات إلى كائنات غير المدارة. يمكنك (طبعا) لديها مؤشرات C ++ إلى الكائنات المدارة، مجرد وسيلة لديك مؤشرات المتاحة في C # (في التعليمات البرمجية غير آمنة). انظر هنا للحصول على شرح مفصل من المؤشرات في C #، و هنا عن بعض التفاصيل حول المؤشرات في C ++ / CLI. لا يتم التعامل مع تلك المؤشرات من قبل هواة جمع القمامة.
لا تنتمي إلى StackOverflow