170 похожих чатов

Я же правильно понимаю, что вот это - отличный работающий

костыль?
std::vector<int> something_global;
void ensure_global_initialized() {
static int initializer = [] () {
something_global = { 1, 2, 3 };
return 0;
} ();
}

5 ответов

10 просмотров

Предполагая ручной вызов ensure_global_initialized()? А чем это лучше синглтона Мейерса?

Constantine-Drozdov Автор вопроса
Alexander Karaev
Предполагая ручной вызов ensure_global_initialized...

Тем, что нужен костыль :( Вызов уже есть, инициализация сложная штук 8 полей, не хочу рефакторить сейчас

Constantine-Drozdov Автор вопроса
Alexander Karaev
Предполагая ручной вызов ensure_global_initialized...

Кек std::vector<int> something_global; void ensure_global_initialized() { static int initializer = [] () { something_global = { 1, 2, 3 }; ensure_global_initialized(); //dead lock on MSVC x64 return 0; } (); }

Constantine Drozdov
Кек std::vector<int> something_global; void ensure...

Кажется, это implementation defined поведение. И синглтон Мейерса тоже от этого страдает, из серии каверзных вопросов

Constantine Drozdov
Кек std::vector<int> something_global; void ensure...

MSVC же, емнип, использует табличку глобальных мьютексов для защиты такой инициализации от гонок

Похожие вопросы

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
А вот посоветуйте что-нибудь почитать на тему проектирования систем на Хаскеле? Теории по самому языку и смежным теориям - масса, но как из всех этих теорий построить архитект...
Jevgeni Goloborodko
7
значить например он учился в СДУ то получается он особенный?)
Asets Serikov
11
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Карта сайта