मैं निम्नलिखित कोड:सी ++ चर का प्रकार संदर्भ पर निर्भर करता है?
// Case #1
float f = 1.0f;
float f2 = sqrt(f * pi);
// Case #2
double d = 1.0;
double d2 = sqrt(d * pi);
वहाँ चर pi
परिभाषित करने के लिए कोई तरीका है ताकि operator*
और sqrt
प्रकरण # 1 में float
रों पर काम करेंगे, लेकिन प्रकरण # 2 में double
रों पर काम करेगा?
शायद सी ++ 14 परिवर्तनीय टेम्पलेट्स के साथ यह संभव हो सकता है?
@LWimsey Yep, टाइपो, धन्यवाद। – Barry
@ टी.सी. ऐसा कुछ? – Barry
आप इसे सरल बना सकते हैं - डिफ़ॉल्ट कार्यान्वयन को 'int' के बजाय 'डबल' मान परिभाषित करना चाहिए। 'टेम्पलेट constexpr डबल पीआई = 3.0;' –
Orient