Требует ли стандарт С++ динамическую инициализацию нелокальных статических переменных в том же потоке, который вызывает 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;
}
- два идентификатора потока, требуемые/гарантированные для соответствия?
