मैं वर्तमान में कुछ सी #/सी ++ कोड पर काम कर रहा हूं जो आवेषण का उपयोग करता है।सी #+ पॉइंटर्स को सी # में रखना सुरक्षित है?
void SetName(char* name, int idx)
लेकिन अब मैं, यह सोच कर के बाद से मैं कर रहा हूँ: सी ++ पक्ष में एक std :: वेक्टर संकेत दिए गए प्रत्येक सी # कोड से सूचकांक से पहचान का पूरा, उदाहरण के लिए एक समारोह घोषणा इस प्रकार दिखाई देगा नहीं है संकेत के साथ काम कर हूँ मैं करने के लिए सी # कोड में सूचक पता ही नहीं भेजा जा सकता था तो मैं कुछ इस तरह कर सकता है: कि की एक त्वरित संस्करण है
void SetName(char*name, int ptr)
{
((TypeName*)ptr)->name = name;
}
जाहिर है कि मैं क्या कर रहा हूँ पर हो रही है (और शायद नहीं होगा संकलन)।
क्या सूचक पते को सी ++ में स्थिर रहने की गारंटी दी जाएगी जैसे कि मैं सुरक्षित रूप से अपना पता सी # में संग्रहीत कर सकता हूं या यह किसी कारण से बहुत अस्थिर या खतरनाक होगा?
बस स्पष्ट करने के लिए: आप जानते हैं कि उपर्युक्त कोड सी # में संकलित होगा यदि यह 'असुरक्षित' ब्लॉक के अंदर है? –