C++

2013-02-10 16 views
5

2-डी सरणी मैं सी में पता करने के लिए पंक्तियों और स्तंभों की राशि ढूँढना ++ आप पंक्तियों और स्तंभों के साथ की एक सरणियों राशि प्राप्त कर सकते हैं:C++

int rows = sizeof array/sizeof array[0]; 
int cols = sizeof array[0]/sizeof array[0][0]; 

लेकिन वहाँ यह करने के लिए किसी भी बेहतर तरीका है ?

+1

हां। चूंकि यह 'सी ++' उपयोग 'वेक्टर' है। – StoryTeller

+0

बढ़ावा :: मैट्रिक्स .. –

उत्तर

5

सी ++ में आप टेम्पलेट तर्क कटौती का उपयोग करके ऐसा कर सकते हैं। ऐसा लगता है कि extenttype_trait इस उद्देश्य के लिए पहले से मौजूद है:

#include <type_traits> 
// ... 
int rows = std::extent<decltype(array), 0>::value; 
int cols = std::extent<decltype(array), 1>::value;