【发布时间】:2020-03-14 19:12:29
【问题描述】:
下面的 d 值是初始化(大概为 0)还是未初始化(读取不安全)?
std::chrono::system_clock::duration d;
Documentation 表示默认构造函数是默认的。
下面的std 库代码似乎表明它未初始化,因为最终 int64_t 是一个标量,而标量的默认初始化是不初始化。
我的理解正确吗? std::chrono::system_clock::time_point 被初始化为 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;
...
【问题讨论】: