मैंने हाल ही में फैसला किया है कि मुझे बस अंत में C / C ++ सीखना है, और एक बात यह है कि मैं वास्तव में संकेत या अधिक सटीक, उनकी परिभाषा के बारे में नहीं समझता हूं।
इन उदाहरणों के बारे में कैसे:
int* test;
int *test;
int * test;
int* test,test2;
int *test,test2;
int * test,test2;
अब, मेरी समझ से, पहले तीन मामले सभी एक ही कर रहे हैं: टेस्ट एक इंट नहीं, बल्कि एक सूचक है।
उदाहरणों का दूसरा सेट थोड़ा और मुश्किल है। मामले 4 में, टेस्ट और टेस्ट 2 दोनों एक इंट के लिए संकेत होंगे, जबकि 5 के मामले में, केवल टेस्ट एक पॉइंटर है, जबकि टेस्ट 2 एक "वास्तविक" इंट है। केस 6 के बारे में क्या? केस 5 के समान?
int*test;
?
Foo<Bar<char>>
>>
> >
++
ऑपरेटर को एक स्थान से विभाजित नहीं किया जा सकता है, पहचानकर्ताओं को एक स्थान से विभाजित नहीं किया जा सकता है (और परिणाम अभी भी संकलक के लिए कानूनी हो सकता है लेकिन अपरिभाषित रनटाइम व्यवहार के साथ)। C / C ++ जो सिंटैक्स गड़बड़ है, उसे देखते हुए सटीक स्थितियों को परिभाषित करना बहुत मुश्किल है।