#define ROW 3
#define COL 4
class Matrix
{
private:
int mat[ROW][COL];
//.....
//.....
};
int main()
{
Matrix m;
int a = m[0][1]; // reading
m[0][2] = m[1][1]; // writing
}
मुझे लगता है कि सीधे अधिभार करना संभव नहीं है [] []।2 डी सरणी के रैपर वर्ग के लिए सरणी अनुक्रमणिका ऑपरेटर को अधिभार कैसे करें?
मुझे लगता है कि मुझे इसे अप्रत्यक्ष रूप से करना है लेकिन इसे कैसे कार्यान्वित करना है?
क्या एक अच्छा अनुकूलक प्रॉक्सी संस्करण को 'ऑपरेटर()' के रूप में कुशल कोड में बदल देगा? – GManNickG
यह संकलक पर निर्भर करता है। लेकिन मैं अपनी वस्तुओं का उपयोग सहज के रूप में सहज बनाने के लिए करना चाहता हूं। ऑब्जेक्ट का उपयोग करने के लिए जितना स्वाभाविक लगता है उतना ही गलतियों के लिए ऑपरेशन की संभावना कम होती है। मैं व्यक्तिगत रूप से प्रॉक्सी पसंद करता हूं लेकिन इस स्थिति के लिए इसके छः दर्जन दर्जनों में से छह और मैं निश्चित रूप से यह नहीं कह सकता कि एक दूसरे से बेहतर है। –
हाँ, मैंने हमेशा 'ऑपरेटर() 'का उपयोग किया है, लेकिन मुझे लगता है कि मैं इस बार प्रॉक्सी का उपयोग करूंगा (मैं गेम इंजन लिखता हूं) और देखता हूं कि यह कोई समस्या पैदा करता है या नहीं। मैं कल्पना नहीं कर सकता कि संकलक के लिए इसे जितना तेज़ बनाना मुश्किल होगा, क्योंकि इसमें सभी ऑपरेटरों की पूर्ण परिभाषा होगी। – GManNickG