Size: a a a

2020 September 06

🦊

🦊fox.cpp in C++ Together 2.0
но я приберу отсылки на это чудо, а то опять начнут чмырить за голанг в C++ чате :D
источник

RM

Roy Mustang in C++ Together 2.0
Chris Calvin
у тебя все кейсы использования данной сущности предполагают single-threaded environment?
Да, но синхронизация остаётся на юзерах если модуль многопоточный
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Мммм, голанг ....
источник

CC

Chris Calvin in C++ Together 2.0
@AlexFails, вот мне товарищи про такое втирают:
class MySingleton{
public:
 static MySingleton* getInstance(){
   MySingleton* sin= instance.load(std::memory_order_acquire);
   if ( !sin ){
     std::lock_guard<std::mutex> myLock(myMutex);
     sin= instance.load(std::memory_order_relaxed);
     if( !sin ){
       sin= new MySingleton();
       instance.store(sin,std::memory_order_release);
     }
   }  
   return sin;
 }
private:
 MySingleton()= default;
 ~MySingleton()= default;
 MySingleton(const MySingleton&)= delete;
 MySingleton& operator=(const MySingleton&)= delete;

 static std::atomic<MySingleton*> instance;
 static std::mutex myMutex;
};
источник

CC

Chris Calvin in C++ Together 2.0
Roy Mustang
Да, но синхронизация остаётся на юзерах если модуль многопоточный
Понятно.
источник

CC

Chris Calvin in C++ Together 2.0
Комментировать я это конечно же не буду
источник

A

Alex Ф-ф-фэils!🌠︙... in C++ Together 2.0
Chris Calvin
@AlexFails, вот мне товарищи про такое втирают:
class MySingleton{
public:
 static MySingleton* getInstance(){
   MySingleton* sin= instance.load(std::memory_order_acquire);
   if ( !sin ){
     std::lock_guard<std::mutex> myLock(myMutex);
     sin= instance.load(std::memory_order_relaxed);
     if( !sin ){
       sin= new MySingleton();
       instance.store(sin,std::memory_order_release);
     }
   }  
   return sin;
 }
private:
 MySingleton()= default;
 ~MySingleton()= default;
 MySingleton(const MySingleton&)= delete;
 MySingleton& operator=(const MySingleton&)= delete;

 static std::atomic<MySingleton*> instance;
 static std::mutex myMutex;
};
Это если через оператор new() придётся поебаться, а статическое поле работает
источник

🦊

🦊fox.cpp in C++ Together 2.0
🦊fox.cpp
но я приберу отсылки на это чудо, а то опять начнут чмырить за голанг в C++ чате :D
кстати, я там тоже модулей наворотил своеобразных :)
источник

🦊

🦊fox.cpp in C++ Together 2.0
может мне себя тоже надо говном поливать 🤔
источник

🦊

🦊fox.cpp in C++ Together 2.0
не, бред какой-то
источник

KK

Konstantin Kozyrev in C++ Together 2.0
🦊fox.cpp
может мне себя тоже надо говном поливать 🤔
Кидай в чат, оставь людям эту возможность
источник

🦊

🦊fox.cpp in C++ Together 2.0
Konstantin Kozyrev
Кидай в чат, оставь людям эту возможность
ну так, чат по C++, а там говланг
источник

🦊

🦊fox.cpp in C++ Together 2.0
но ловите: github.com/foxcpp/maddy
источник

KK

Konstantin Kozyrev in C++ Together 2.0
ТЕМБОЛЕЕ
источник

KK

Konstantin Kozyrev in C++ Together 2.0
Сколько ты за домен .dev платишь?
источник

🦊

🦊fox.cpp in C++ Together 2.0
Konstantin Kozyrev
Сколько ты за домен .dev платишь?
1 147 ₽ /year
источник

G

GNU/Плюшка in C++ Together 2.0
о, щас заюзаю как раз
источник

G

GNU/Плюшка in C++ Together 2.0
наверное
источник

KK

Konstantin Kozyrev in C++ Together 2.0
🦊fox.cpp
1 147 ₽ /year
Хм, норм
источник

M

Michael in C++ Together 2.0
у хостингера за хуй плачу по 800 в год. Удобна.

только вот уже как 2 месяца сайт лень доделать...
источник