前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1636969758/
探検
C++相談室 part159
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2022/02/19(土) 11:56:42.14ID:kSnJ/KwP985デフォルトの名無しさん
2022/04/15(金) 00:01:53.91ID:he9C7sX7986デフォルトの名無しさん
2022/04/15(金) 00:06:58.93ID:xDiQzMrD mainの実行より前に意味があることしようと思ったらコンパイル時しかなかろうよ
987デフォルトの名無しさん
2022/04/15(金) 00:13:00.39ID:he9C7sX7 >>986の主観の話をしているのではない件について:
988デフォルトの名無しさん
2022/04/15(金) 00:22:10.66ID:xDiQzMrD989デフォルトの名無しさん
2022/04/15(金) 04:08:04.71ID:sm6VHVYM 静的ストレージは実装と心中するプログラム以外マジでやめといたほうがいい
移植性が大幅に低下する
移植性が大幅に低下する
990デフォルトの名無しさん
2022/04/15(金) 04:23:41.78ID:1Y3hD0GJ グローバルやstaticな変数を使用する時は排他制御を必ず行なう
これを厳守していれば使っても大丈夫です
もちろん使わずに済む別の方法がある時は別の方法を取るべきです
これを厳守していれば使っても大丈夫です
もちろん使わずに済む別の方法がある時は別の方法を取るべきです
991デフォルトの名無しさん
2022/04/15(金) 06:36:24.15ID:he9C7sX7 >>988
・任意のユーザーが任意のクラスをグローバル変数として使うことをOSが禁止するわけにはいかない
・クラスのコンストラクタでOS資源を確保することは普通(イベントオブジェクトを確保する等、ハンドルのメンバを有効な値で初期化しようとする
・誰かがグローバル変数のコンストラクタでOSの資源を確保しようとしたら、この場合初期化前のOSのwrapperが呼ばれる
ここまで書かないと>>986がいかにたわごとを言っているかわからないわけ?!
>>990
>グローバルやstaticな変数を使用する時は排他制御を必ず行なう
まあそれはそう。今回排他制御を避けられるのは
>main()で初期化することが保証しているから、グローバルなコンストラの中でいきなりスレッドを起こしてそこから
>OSのwrapperを呼ぶ、みたいなktgi行為が無い限りこのシングルトンはマルチスレッドの対策が不要
というktgi行為が無いことの条件付き。
・任意のユーザーが任意のクラスをグローバル変数として使うことをOSが禁止するわけにはいかない
・クラスのコンストラクタでOS資源を確保することは普通(イベントオブジェクトを確保する等、ハンドルのメンバを有効な値で初期化しようとする
・誰かがグローバル変数のコンストラクタでOSの資源を確保しようとしたら、この場合初期化前のOSのwrapperが呼ばれる
ここまで書かないと>>986がいかにたわごとを言っているかわからないわけ?!
>>990
>グローバルやstaticな変数を使用する時は排他制御を必ず行なう
まあそれはそう。今回排他制御を避けられるのは
>main()で初期化することが保証しているから、グローバルなコンストラの中でいきなりスレッドを起こしてそこから
>OSのwrapperを呼ぶ、みたいなktgi行為が無い限りこのシングルトンはマルチスレッドの対策が不要
というktgi行為が無いことの条件付き。
992デフォルトの名無しさん
2022/04/15(金) 07:35:15.38ID:xDiQzMrD >>991
えっと、つまり、使えるものは使わずにはおれない一族に生まれたということですか?
えっと、つまり、使えるものは使わずにはおれない一族に生まれたということですか?
993デフォルトの名無しさん
2022/04/15(金) 08:15:20.73ID:xhqbcuaF994デフォルトの名無しさん
2022/04/15(金) 08:29:52.88ID:y04/Kx9U 自分で記述するだけならどうとでもなるけど
他人に使ってもらう前提だと
限度はあるにしても色々防護策を講じたくなるのもわかる
他人に使ってもらう前提だと
限度はあるにしても色々防護策を講じたくなるのもわかる
995デフォルトの名無しさん
2022/04/15(金) 08:31:14.00ID:xDiQzMrD モジュールの結合度を評価するのにまず排他がどうとか気にするもんかね?
996デフォルトの名無しさん
2022/04/15(金) 08:40:46.42ID:WMzvufu2 C++相談室 part160
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
https://mevius.5ch.net/test/read.cgi/tech/1649979572/
997デフォルトの名無しさん
2022/04/15(金) 08:43:44.23ID:ZcCJtqdn >>995
それとは独立の問題
並行&並列でも動くことが現代では求められているため
一般的にグローバルやstatic変数の読み書きには排他制御が必ず必要となる
厳密な意味で変数ではなく一度限り初期化される定数のようなものの場合はその初期化が排他制御される保証のみでも大丈夫なだけ
それとは独立の問題
並行&並列でも動くことが現代では求められているため
一般的にグローバルやstatic変数の読み書きには排他制御が必ず必要となる
厳密な意味で変数ではなく一度限り初期化される定数のようなものの場合はその初期化が排他制御される保証のみでも大丈夫なだけ
998デフォルトの名無しさん
2022/04/15(金) 08:44:18.42ID:wykOop5a >>994
シングルトンパターンならコンストラクタをプライベートにするんだから、そもそもグローバル変数として初期化できないんじゃない?
シングルトンパターンならコンストラクタをプライベートにするんだから、そもそもグローバル変数として初期化できないんじゃない?
999デフォルトの名無しさん
2022/04/15(金) 08:44:58.60ID:wykOop5a1000デフォルトの名無しさん
2022/04/15(金) 08:49:06.65ID:xDiQzMrD >>997
グローバル変数批判でまずそれが問題だと思うのはどうかしてるよ
グローバル変数批判でまずそれが問題だと思うのはどうかしてるよ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 54日 20時間 52分 24秒
新しいスレッドを立ててください。
life time: 54日 20時間 52分 24秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【赤坂“サウナ火災”30代夫婦死亡】サウナストーンでドア割ろうとした可能性 非常ボタン作動しなかったか ★3 [ぐれ★]
- 【赤坂“サウナ火災”30代夫婦死亡】サウナストーンでドア割ろうとした可能性 非常ボタン作動しなかったか ★2 [ぐれ★]
- 【高市首相】「日本人が日本各地を旅行するのも大切」 中国からの渡航自粛巡り ★5 [ぐれ★]
- 統合中学の校名案「桜花」 特攻機名と重なり波紋 福岡・大牟田……「生徒が純真に考えた」と賛成意見も市民団体などが疑問の声 ★2 [少考さん★]
- 日銀 政策金利0.75%に引き上げへ 賃上げ動向後押しに 30年ぶりの水準 金融政策決定会合 [ぐれ★]
- 拡大中「お正月は休業します」百貨店やスーパー、飲食業界でも ★2 [ぐれ★]
- 赤坂蒸し焼きサウナ、「ようこおおおおおおおお!!!!」意識を失う寸前まで拳でガラスを割ろうとしていたと判明・・・ [329329848]
- 【高市悲報】吉村はん「中国、北朝鮮、ロシアは意思決定が早い😤日本もそうせなアカン」バチーン! [359965264]
- 【高市速報】山上徹也さん、厳しい刑が求刑される模様…🥺 [931948549]
- 【悲報】日銀が利上げと発表したのに円高にならない。日本円終焉へ😘 [472617201]
- __所得税、当初富裕層向け、戦争や制度変更で全労働者が対象に、今では管理・統制手段に [827565401]
- 上念司「またはっけーん!一般人なのに中国の肩持つって、どんな利害関係をお持ちなんでしょうか?この手の方々リスト化しておくといい」 [256556981]
