2011-12-06 5 views
6

संभव डुप्लिकेट:
looping through enum valuesउद्देश्य-सी में enum पर गणना कैसे करें?

मान लीजिए हम कार्ड

typedef enum { 
    HEARTS, CLUBS, DIAMONDS, SPADES, SUIT_NOT_DEFINED 
} Suit; 

कैसे मैं एक enum से अधिक की गणना कर सकते हैं की एक डेक के साथ काम कर रहे हैं?

उत्तर

6

आप पाश हालत में ऊपरी सीमा के खिलाफ है कि प्रारंभिक बिंदु और परीक्षण के रूप में enum की निचली सीमा का उपयोग कर सकते हैं:

for(int i = HEARTS; i < SUIT_NOT_DEFINED; ++i) { 
    //do something with i... 
} 
+1

ठीक है, अगर SUIT_NOT_DEFINED परिभाषित नहीं किया गया था, तो वह अभी भी रूप में पुनरावृति सकता है जैसे: 'के लिए (int i = HEARTS; i <= SPADES; ++ i) {...}' चूंकि वह लूप इनवेरिएंट वैरिएबल के लिए गणना प्रकार का उपयोग नहीं कर रहा है। – gschandler

संबंधित मुद्दे