में chrono सेकंड प्राप्त करें उदाहरण में http://en.cppreference.com/w/cpp/chrono पर double
में सेकंड मान प्राप्त किया जाता है। यह वह व्यवहार है जो मैं चाहता हूं। हालांकि, यह अंतर्निहित धारणा पर भरोसा करता है कि समय बिंदु घटाव एक मान उत्पन्न करता है जो सेकंड का प्रतिनिधित्व करता है। मुझे कुछ भी नहीं मिल रहा है जो बताता है कि क्यों एक अवधि फ्लोटिंग पॉइंट सेकंड उत्पन्न करती है जब कोई समय इकाइयां वास्तव में निर्दिष्ट नहीं होती हैं। auto
का उपयोग किए बिना, क्या कोई दिखा सकता है कि फ्लोटिंग पॉइंट प्रकार में सेकेंड जैसे समय इकाई को स्पष्ट रूप से कैसे प्राप्त किया जाए, या मुझे दस्तावेज़ीकरण या स्पष्टीकरण के लिए इंगित करें कि उपर्युक्त रूपांतरण सेकेंड का प्रतिनिधित्व क्यों करता है?फ्लोट
प्रश्न में रूपांतरण अनिवार्य है:
std::chrono::time_point<std::chrono::system_clock> start = std::chrono::system_clock::now();
std::chrono::time_point<std::chrono::system_clock> end = std::chrono::system_clock::now();
std::chrono::duration<double> elapsed_seconds = end-start; // why does this represent seconds as opposed to some other time unit?
double secondsInDouble = elapsed_seconds.count();
रूपांतरण के उदाहरण के लिए निम्नलिखित पोस्ट देखें।
How to get duration, as int milli's and float seconds from <chrono>?
C++ chrono - get duration as float or long long
getting chrono time in specific way
Chrono Timer Not Converting Seconds Properly
मैं उस संदर्भ को देखता हूं जो मैंने संदर्भ के शीर्ष पर छोड़ा था: 'टिक अवधि एक संकलन-समय तर्कसंगत स्थिर है जो एक टिक से अगले तक सेकंड की संख्या का प्रतिनिधित्व करती है।' इसलिए 1: 1 का डिफ़ॉल्ट अनुपात दिया गया है, अवधि अवधि हमेशा एक सेकंड का प्रतिनिधित्व करता है। इसे मेरे संज्ञान में लाने के लिए धन्यवाद। – taz
'std :: अनुपात <1, 1000>' 'std :: milli' के साथ प्रतिस्थापित किया जा सकता है। –