回答編集履歴

2

何でもクラスは常に害悪だろうか

2016/02/23 05:53

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -31,3 +31,11 @@
31
31
  flags[flag::stage1_clear]
32
32
 
33
33
  ```
34
+
35
+
36
+
37
+ 追記
38
+
39
+
40
+
41
+ グローバル変数が害悪なように、なんでも入っているクラスは害悪です。一つのクラスがあちこちで変更されないように設計しましょう。ただ、この手のフラグはそこかしこで参照することが多いので、まとめてしまっても構わないと思います。C++だと関数間通信、クラス間通信はほぼできないですし。

1

add example

2016/02/23 05:53

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
@@ -1,3 +1,33 @@
1
1
  まあ別にそれでも問題ないけど、std::bitsetとenum使うほうが省メモリーにはなる。
2
2
 
3
3
  名前衝突防止のためにstructでenumをくるまないといけないのがだるいけど。
4
+
5
+
6
+
7
+ ```cpp
8
+
9
+ #include <bitset>
10
+
11
+ struct flag{
12
+
13
+ enum type : std::size_t {
14
+
15
+ stage1_clear,//ステージ1をクリアしたか
16
+
17
+ talk_murabito,//村人に話しかけたか
18
+
19
+ size
20
+
21
+ };
22
+
23
+ };
24
+
25
+ std::bitset<flag::size> flags;
26
+
27
+
28
+
29
+ //使い方
30
+
31
+ flags[flag::stage1_clear]
32
+
33
+ ```