C++相談室 part160

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2022/04/15(金) 08:39:32.42ID:WMzvufu2
前スレ
C++相談室 part158
https://mevius.5ch.net/test/read.cgi/tech/1645239402/
2022/04/15(金) 08:42:10.92ID:WMzvufu2
全スレ159だったわ
タイトルだけ間違えた
2022/04/15(金) 08:46:23.30ID:wykOop5a
乙です。
2022/04/15(金) 08:50:45.87ID:xDiQzMrD
おつ
2022/04/15(金) 09:04:13.20ID:1joR/OE7
>>2
どんまい、乙
2022/04/15(金) 09:12:06.04ID:pOJAVr49
グローバル変数と静的変数は
・書き換えられうる場合は排他制御が必須
・初期化のみの場合でもその初期化の排他制御が必須
・ただし静的変数の初期化はC++11以降は自動的に排他制御されることが保証される
2022/04/15(金) 09:23:58.05ID:xDiQzMrD
まとめると、main開始してからリソース用意して適当に渡せよってことよ
原則としてグローバル変数もシングルトンも避けたほうが良い
2022/04/15(金) 12:30:29.25ID:hAkRYyug
グローバル変数を避ければシングルトンがmain開始前に呼び出されること無いだろ。
グローバル変数だけ避ければいい。
2022/04/15(金) 12:37:29.85ID:1+gF2L/G
シングルトンなんてグローバル変数と同じ
避けたほうが良い
2022/04/15(金) 13:17:57.26ID:JW7HV0lo
シングルトンの中に書き換わる変数を持っていたらデータ競合が起こりうるよな
2022/04/15(金) 15:34:09.27ID:wykOop5a
>>9
シングルトン無しでどうやってプログラム全体で共通のリソースを管理するの?
2022/04/15(金) 15:49:11.91ID:rZhfm+p8
>>11
それほんとにシングルトンのこと話してるの?
モジュール間の情報共有はシングルトンがないと無理って言ってるに等しい気がするけど
2022/04/15(金) 16:34:54.97ID:WyYUxIA+
>>11 「管理」が何のことを言ってるのかわからないけど、たぶんひきすうをつかえばいいと思うんだ。
2022/04/15(金) 16:52:25.27ID:2FVuY2vb
引数ってこういうことか?

struct singleton_t { };

singleton_t& get_singleton()
{
static singleton_t the_singleton;
return the_singleton;
}

void func1(singleton_t&);
singleton_t& func2();

int main()
{
func1(func2());
}

func2なんか使わずにfunc1の中でget_singletonを呼び出せば済むことだし
だったらthe_singletonをグローバルにするのと大差なくねって
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況