teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2021/07/16 02:20

投稿

fana
fana

スコア12229

answer CHANGED
@@ -7,4 +7,27 @@
7
7
  reset(new GameData_unique())だとできるのか?なにが違う?
8
8
 
9
9
  `GameData_unique`のコンストラクタがprivateなので,`make_unique` が `GameData_unique`型のオブジェクトを作ることができません.
10
- 対して,resetを使っている側だと,作っているのはメンバ関数である`GetInstans`の中なのでOK.
10
+ 対して,resetを使っている側だと,作っているのはメンバ関数である`GetInstans`の中なのでOK.
11
+
12
+
13
+ > ・ポインタとユニークポインタでやりましたがシングルトンの静的な変数はポインタとかユニークポインタまだ知らないものあると思いますが何を使うのがいいのでしょうか?
14
+
15
+ 良いかどうかはわかりませんが,こんなのもあり得るのでは.
16
+
17
+ ```C++
18
+ class A
19
+ {
20
+ public:
21
+ static A& GetInstance() //※「インスタンス」の綴りはこうでは?
22
+ {
23
+ static A Inst; //これが唯一のインスタンス
24
+ return Inst;
25
+ }
26
+
27
+ private:
28
+ A(){}
29
+ //※コピーを禁止する必要がある
30
+ A &operator=( const A& ) = delete;
31
+ A( const A& ) = delete;
32
+ };
33
+ ```