Использование g ++ для объявления функционально-статического локального хранилища потока:
void f() { static __thread somePodStruct thing; ... }
Могу ли я предположить, что thing будет инициализироваться нулем?
thing
Согласно документации GCC:
http://gcc.gnu.org/onlinedocs/gcc-3.3.1/gcc/Thread-Local.html
В C ++, если для локальной переменной потока присутствует инициализатор, это должно быть выражение-константа, как определено в 5.19.2 стандарта ANSI / ISO C ++.
Таким образом, вы можете явно установить его на ноль. Таким образом, чтобы быть в безопасности, без каких-либо отрицательных сторон, вы можете получить нулевую инициализацию, явно сделав это самостоятельно.