Требует ли стандарт С++ динамическую инициализацию нелокальных статических переменных в том же потоке, который вызывает main()
?
В частности, в С++ 11 гарантируется, что std::this_thread::get_id()
возвращает тот же результат в статических инициализаторах и внутри main()
?
Edit:
Более конкретно, учитывая следующий код:
#include <iostream>
#include <thread>
static std::thread::id id = std::this_thread::get_id();
int main()
{
std::cout << id << "\n";
std::cout << std::this_thread::get_id() << "\n";
return 0;
}
- два идентификатора потока, требуемые/гарантированные для соответствия?