मान लीजिए मैं इस कोडक्या यह इनलाइन फ़ंक्शंस का वैध उपयोग है?
inline float SecondsToMinutes(float seconds)
{
return seconds/60.0;
}
inline float MinutesToHours(float minutes)
{
return minutes/60.0;
}
inline float HoursToDays(float minutes)
{
return minutes/24.0;
}
inline float SeconndsToHours(float seconds)
{
return MinutesToHours(SecondsToMinutes(seconds));
}
inline float MinutesToDays(float minutes)
{
return HoursToDays(MinutesToHours(minutes));
}
inline float SeconndsDays(float seconds)
{
return MinutesToDays(SecondsToMinutes(seconds));
}
इनलाइन के इस वैध उपयोग है (तथ्य यह है कि SecondsToMinutes और MinutesToHours एक दूसरे के कार्बन प्रतियां हैं कोई आपत्ति नहीं है) है? क्या इस का कोई मतलब निकलता है? क्या यह अच्छा अभ्यास है? सब के बाद, अगर मैं सही ढंग से याद करते हैं, इनलाइन मतलब यह है कि फ़ंक्शन कॉल समारोह निकायों द्वारा बदल दिया जाता है, तो
return MinutesToDays(SecondsToMinutes(seconds))
return seconds/60.0/60.0/24.0
अधिकार के बराबर होना चाहिए?
या इसके लिए मैक्रोज़ का उपयोग करना बेहतर है?
#define EXCHANGE_SEC_MIN(x) (x/60.0)
#define EXCHANGE_MIN_H(x) (x/60.0)
#define EXCHANGE_H_D(x) (x/24.0)
#define EXCHANGE_SEC_H(x) (EXCHANGE_MIN_H(EXCHANGE_SEC_MIN(x)))
#define EXCHANGE_MIN_D(x) (EXCHANGE_H_D(EXCHANGE_MIN_H(x)))
#define EXCHANGE_SEC_D(x) (EXCHANGE_MIN_D(EXCHANGE_SEC_MIN(x)))
कौन सा बेहतर अभ्यास है? या न तो है? मैं इस पर दूसरों को सेंट चाहता हूँ।
मैक्रो लगभग हमेशा * * गलत तरीके से :-) – paxdiablo
इसके अलावा आपके मैक्रोज़ गलत हैं: यदि आप इसे 'EXCHANGE_SEC_MIN (ए + बी)' जैसे उपयोग करते हैं तो क्या होता है? – mch
* मैक्रो लगभग हमेशा गलत तरीके से कर रहे हैं * दूसरे शब्दों में अगर कोई मैक्रो के लिए एक सरल विकल्प (जो इस मामले में, एक समारोह है कोई फर्क नहीं पड़ता इनलाइन या नहीं) मैक्रो – Leon