मुझे पहचानकर्ताओं के लिए अधिकतम लंबाई की मानक कहने को याद नहीं है, इसलिए सिद्धांत में वे लंबे हो सकते हैं। वास्तविक जीवन में, उन नामों को कम से कम संकलक और लिंकर कार्यान्वयन से सीमित किया जा सकता है।सामान्य (बिल्ड) सिस्टम पर सी/सी ++ पहचानकर्ता के लिए अधिकतम लंबाई क्या है?
हालांकि यह सभी प्रणालियों
int a;
इस स्निपेट
#!/usr/bin/perl
print "int" . "b" x 2**16 . ";";
पर काम करना चाहिए एक declarationen कि ld
साथ std::
somethings को अपरिभाषित संदर्भ देता है, जबकि (का उपयोग कर जीसीसी/MinGW) जोड़ने/संकलन पैदा करता है।
तो विभिन्न प्रणालियों पर पहचानकर्ता के लिए आकार सीमा क्या हैं?
चेतावनी दी जानकारी होनी चाहिए कि नाम लंबाई सीमा * घायल नाम * के लिए कर रहे हैं। एमएसवीसी से कुछ परेशान चेतावनियों से मुझे बहुत समय बीटा गया है जब मैंने टेम्पलेट फ़ंक्शंस लिखे थे और उन्हें कुछ 'boost :: transform_iterator 'पास कर दिया था। तात्कालिकता का उलझन नाम सिर्फ पागलपन से मिलता है। –
@Alexandre: अब तक मुझे यह समस्या कभी नहीं मिली। मुझे याद रखने वाले टेम्पलेट से संबंधित एकमात्र मुद्दा यह था कि मुझे कुछ परियोजनाओं में टेम्पलेट गहराई में वृद्धि करना पड़ा जो मेटा प्रोग्रामिंग का उपयोग करता था। – mbx
जीसीसी में ऐसी कोई समस्या नहीं है (@Anders 'उत्तर देखें)। यह केवल एक चेतावनी है कि कभी-कभी एमएस टूल्स के साथ होता है जब उलझन वाले नाम 2048 वर्णों से अधिक होते हैं। हालांकि यह आमतौर पर आपके निर्माण के साथ विनाश नहीं खेलता है। –