यदि मेरे पास int
है, तो इसे double
पर परिवर्तित करें, फिर double
को int
पर कनवर्ट करें, क्या मैं उसी मूल्य को वापस पाने की गारंटी देता हूं जिसके साथ मैंने शुरुआत की थी?int-> डबल-> int मूल्य-संरक्षित होने की गारंटी है?
int passThroughDouble(int input)
{
double d = input;
return d;
}
Am मुझे लगता है कि सभी के लिए passThroughDouble(x) == x
int
रों x
गारंटी: दूसरे शब्दों में, इस समारोह को देखते हुए?
यह int के आकार पर निर्भर करेगा, उदा। 64 बिट इट्स के लिए यह निश्चित रूप से काम नहीं करेगा। 32 बिट इट्स के लिए यह * शायद * काम करेगा। –
'जोर दें (std :: numeric_limits :: अंक <= std :: numeric_limits :: अंक); '- http://en.cppreference.com/w/cpp/types/numeric_limits/digits –
sehe
@sehe: निश्चित रूप से आपका मतलब 'static_assert' है। : पी – GManNickG