C ++ / CLI- এ ক্যারেট ('/') এর অর্থ কী?


212

আমি কেবল এই কোডটি পেরিয়ে এসেছি এবং কয়েকটি গুগল অনুসন্ধান এই রহস্যময় (আমার কাছে) সিনট্যাক্সের কোনও ব্যাখ্যা দেয় না।

Hashtable^ tempHash = gcnew Hashtable(iterators_);

IDictionaryEnumerator^ enumerator = tempHash->GetEnumerator();

কেক ক্যারেট মানে কি? ( gcnewএটি আমার কাছেও নতুন এবং আমি এখানে সে সম্পর্কে জিজ্ঞাসা করেছি ))


6
উপায় দ্বারা, এটি "টুপি" উচ্চারণ করা হয় ।

উত্তর:


176

এটি সি ++ / সিএলআই এবং ক্যারেটটি একটি * (পয়েন্টার) এর পরিচালিত সমতুল্য যা সি ++ / সিএলআই পরিভাষায় একটি 'রেফারেন্স টাইপ'কে ' হ্যান্ডেল ' বলা হয় (যেহেতু আপনার এখনও অব্যবস্থাপনা পয়েন্টার থাকতে পারে)।

(আরও ভাল পরিভাষাটি নির্দেশ করার জন্য আর্দভার্ককে ধন্যবাদ।)


5
(আমি মনে করি "অব্যবস্থাপনাবিহীন রেফারেন্স") সিনট্যাক্স "&" এখনও সি ++ / সিএলআইতে বিদ্যমান?
ওয়েন

সি ++ / সিএলআই হ'ল নিয়মিত সি ++ এর একটি এক্সটেনশান, সুতরাং হ্যাঁ - এটি কেবল পরিচালনা ব্যবস্থা সম্পর্কিত উল্লেখগুলির জন্য
1800 তথ্য

77
// here normal pointer
P* ptr = new P; // usual pointer allocated on heap
P& nat = *ptr; // object on heap bind to native object

//.. here CLI managed 
MO^ mngd = gcnew MO; // allocate on CLI heap
MO% rr = *mngd; // object on CLI heap reference to gc-lvalue

সাধারণভাবে, punctuator %হয় ^যেমন punctuator &হয় *। সি ++ এ ইউনারি &অপারেটর সি ++ / সিএলআইতে থাকে ইউএনারি %অপারেটর।

যখন &ptrফলন হয় একটি P*, %mngdফলন হয় MO^


1
আমি বরং বলব কেন * এমএনজিডি এর পরিবর্তে ^ এমএনজিডি করা হবে না ... এটি হঠাৎ বিভ্রান্ত করছে যে ব্যবস্থাপনিত হিপগুলিতে ঘোষিত প্রকৃত ভেরিয়েবলের সামনে পরিচালিত পয়েন্টার (^) নয়, পরিচালনা পয়েন্টার (^) নয়, নিয়ন্ত্রণহীন পয়েন্টার প্রতীক (*) ব্যবহার করার অনুমতি হঠাৎ করেই বিভ্রান্ত করছে।
15:58 এ স্বউগ্রাফ্ট

20

এর অর্থ হল এটি নিয়মিত সি ++ পয়েন্টার বনাম কোনও পরিচালিত অবজেক্টের একটি রেফারেন্স। এই জাতীয় উল্লেখের পিছনে অবজেক্টগুলি রানটাইম দ্বারা পরিচালিত হয় এবং মেমোরিতে স্থানান্তরিত হতে পারে can এগুলি স্বয়ংক্রিয়ভাবে আবর্জনা সংগ্রহ করা হয়।


17

আপনি যখন ম্যানেজড মেমোরি বরাদ্দ করেন, সেই মেমরিটি আবর্জনা সংগ্রহকারী চারপাশে স্থানান্তরিত হতে পারে। ^ অপারেটর পরিচালিত মেমরির জন্য একটি পয়েন্টার, এটি আবর্জনা সংগ্রাহক যে বিষয়টিকে নির্দেশ করে তা সরানো হলেও সঠিক স্থানে নির্দেশ করে।


4

এমএসডিএন থেকে দেখে মনে হচ্ছে ক্যারেটের অর্থ আপনি তৈরি হচ্ছেন এমন ধরণের হ্যান্ডেল পাচ্ছেন।

https://web.archive.org/web/20150117095313/http://msdn.microsoft.com/en-us/library/te3ecsc8%28VS.80%29.aspx


মৃত লিঙ্ক (2018)
গ্যাবারি

আর্কাইভ.আর.পি অনুলিপিটির লিঙ্কটি স্থির করে। সত্যি বলতে, এমএসডিএন লিঙ্কগুলি এতই নাজুক যে সমস্ত নতুন এমএসডিএন লিঙ্কগুলি শুরু থেকেই আর্কাইভ.org এর মাধ্যমে চালানো উচিত।
আনসসেস


2

এর অর্থ এটি কোনও পরিচালিত অবজেক্টের একটি রেফারেন্স।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.