कोड टुकड़ाconstexpr सरणी सदस्य समय स्थिरांक संकलित हैं?
struct Parameters {
static constexpr int n = 2;
static constexpr double v[n] = {4.0, 5.0};
};
कानूनी सी ++ 11 है? और, यदि हां, तो Parameters::v[0]
और Parameters::v[1]
संकलन समय स्थिरांक हैं या केवल सूचक Parameters::v
स्वयं constexpr
(जो भी संकलन समय पर होगा)?
जैसा कि आप देख सकते हैं कि मैं आमतौर पर constexpr
सरणी और वर्ग/structs में उनके प्रारंभिकता के बारे में थोड़ा उलझन में हूं। कृपया न केवल मेरे विशिष्ट प्रश्न का उत्तर दें बल्कि इस समस्या से संबंधित सामान्य नुकसान और इस तरह के बारे में भी बताने के लिए स्वतंत्र महसूस करें।
ध्यान दें कि 'v' एक सूचक नहीं है, यह एक सरणी है। – Angew
पूरी तरह से कानूनी लगता है: http://ideone.com/oMwXAj –
संभवतः डुप्लिकेट [\ 'x \ [0 \] == 1 \ 'निरंतर अभिव्यक्ति C++ 11 में जब x const int int \ [\] ?] (http://stackoverflow.com/questions/18903113/x0-1-constant-expression-in-c11-when-x-is-const-int) –