具有线程存储持续时间的非本地对象

时间:2014-07-11 13:10:31

标签: c++ storage-duration

目前还不清楚为什么具有线程存储持续时间的对象没有默认初始化?例如:

#include <iostream>

using std::cout;
struct S
{
    S(){ cout << "S\n"; }
    ~S(){ cout << "~S\n"; }
};

thread_local S s;

int main()
{
}

IdeOne

stdout为空。但我希望stdout包含

S
~S

这是因为秒。 8.5 / 12 N3797:

  

如果没有为对象指定初始化程序,则该对象为   缺省初始化

这没有说明对象的存储持续时间。

0 个答案:

没有答案