تمكنت C ++ ^ (مقبض) -> ما هو عليه، وكيف أنها لا تتصل المراجع ومؤشرات

StackOverflow https://stackoverflow.com/questions/1820841

  •  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. لا يتم التعامل مع تلك المؤشرات من قبل هواة جمع القمامة.

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