ちなみにちょっと気になって
>>572のソース、シングルトンになっている部分
https://github.com/gabime/spdlog/blob/v1.x/include/spdlog/details/registry-inl.h/#L263-L267
について確認してみたが、
C++11でスレッドセーフにするという糞なパッチが言語側で当てられてるんだな。
https://cpprefjp.github.io/lang/cpp11/static_initialization_thread_safely.html
かなり最悪だ。目に見えないコストは無くすとかいうポリシーはどこに行ったんだよ?という。
これならシングルトンパターンにdouble-checked locking まで含めて
以下リスト4にした方がまだましだった。(なおJavaでは動かないらしい、詳細は全部読めば分かる)
https://www.ibm.com/developerworks/jp/java/library/j-dcl/index.html
いずれにしてもシングルトンなんて使い物にならないし、
それ以前に関数内staticなんて使わない方がいい。
さてgoogleはどうしてるのか、と思いきや、いまいちよく分からんが限定的許可らしい。
https://ttsuki.github.io/styleguide/cppguide.ja.html#Static_and_Global_Variables
どうもここのC++初心者は文法をこねくり回す傾向があり、
同様に、学んだデザインパターンの適用範囲を探しているようだが、そういうのは止めた方がいい。
それは本末転倒そのものでしかない。
何か書いていて、何か引っかかったときに、そういえば何かパターンにないか?と探すものであって、
デザインパターンを適用する為のコードを書くものではない。
そうすればシングルトンなんて使いどころがないというのが自然に納得出来るようになる。
>>553の言うとおり、staticで何も問題ないからだ。
コンストラクタをprivateにして外から呼ばせない、というアクロバティックなことをする意味がまるでない。
これに関しては、GoFも若気の至り(中二)だったんだと思うよ。
(ただし形式的には分かりやすいシングルトンに初心者が惹かれるのは分かる)
同様に、クラス分割(OOP)をする為のコードを書くものではない。
これも、必要に応じて自然に分割して行くものだ。
試したいのなら、まずはOOPが有効に機能する最低規模(1,000行程度)のコードを書かないと始まらない。
既に何度も言ったが。
探検
C++相談室 part138
■ このスレッドは過去ログ倉庫に格納されています
600デフォルトの名無しさん (ワッチョイ 577b-xbIO)
2019/10/11(金) 06:48:18.29ID:LABzZ1eO0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★2 [Hitzeschleier★]
- 【米国】「トランプ・ゴールドカード」の受付開始 1億5600万円でアメリカの永住権を獲得 ウェブサイトで申し込み [ぐれ★]
- 「暖房が使えない」「食費が高くて子どもの栄養が…」 物価高に苦しむ子育て世帯、政府に期待する支援は [蚤の市★]
- 【東京】テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント 通行人の男性巻き込まれ軽傷 六本木 [ぐれ★]
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず [七波羅探題★]
- エナジードリンク、危険だった。飲酒喫煙もせずランニングが趣味の54歳の若者が毎日たった8本飲むだけで脳卒中に [742348415]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- Twitter医師ら「死ぬほど勉強して博愛精神求められるとかそらみんな美容外科なるわ。嫌なら普通の医療も保険診療廃止しろ!」 [762037879]
- はるととかいうスマブラやってる不登校のガキしね
- ホロライブvtuberさん、ソシャゲに登場するも演技力で界隈に衝撃が走る [329329848]
- NISAって優れた制度だけど、やってない人多いよな
