[過去ログ]
C++相談室 part165 (1002レス)
C++相談室 part165 http://mevius.5ch.net/test/read.cgi/tech/1698705458/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
784: はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-PAPZ) [sage] 2025/03/23(日) 09:32:31.18 ID:Ft35v0Bz0 元の話題からはずれる余談だけれど、静的記憶域期間を持つブロックスコープの変数は最初に通過したときに初期化されるルールがある。 (条件によるので常にではない。) https://timsong-cpp.github.io/cppwp/n3337/stmt.dcl#4 なのでシングルトンパターンはこう単純化して書くことも出来る。 #include <memory> class Foo { Foo() = default; public: static Foo* createInstance() { static std::unique_ptr<Foo> m_pObj = std::unique_ptr<Foo>(new Foo); return m_pObj.get(); } }; int main(void) { auto bar = Foo::createInstance(); } http://mevius.5ch.net/test/read.cgi/tech/1698705458/784
787: デフォルトの名無しさん (ワッチョイ e563-0why) [sage] 2025/03/23(日) 10:56:08.84 ID:IgihfQRv0 >>784 サンプルコードでは省略したけんども、Double-checked lockingの実験をしたかったノデス! ■ Double-Checked Locking is Fixed In C++11 https://preshing.com/20130930/double-checked-locking-is-fixed-in-cpp11/ つなみに関数内staticオブジェクト初期化(初回実行時)のスレッド安全性がどうーなっているのかは よく知りま栓(よって採用には消極的 >>785 Singletonなので誰からもshareされないし…… この場合むしろshared_ptrの方が牛刀な可能性もあるし…… なぜなら、std::shared_ptrの参照カウンタはその利用特性上 異なるスレッドから非同期にインクリメント/デクリメントされることを想定せざるおえず、 スレッド安全性担保がそこそこ重い同期オブジェクトで一方unique_ptrの所有権移動は非同期に行われることはなさげ http://mevius.5ch.net/test/read.cgi/tech/1698705458/787
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.031s