Is the d value below initialized (to 0 presumably) or uninitialized (unsafe to read)?
std::chrono::system_clock::duration d;
Documentation says default constructor is defaulted.
std library code below seems to suggest it is uninitialized as ultimately int64_t is a scalar, and scalar's default initialization is no initialization.
Is my understanding correct? It surprised me sightly as std::chrono::system_clock::time_point is initialized to 0.
struct system_clock
{
typedef chrono::nanoseconds duration;
...
/// nanoseconds
typedef duration<int64_t, nano> nanoseconds;
...
template<typename _Rep, typename _Period>
struct duration
{
typedef _Rep rep;
typedef _Period period;
...
Aucun commentaire:
Enregistrer un commentaire