質問編集履歴
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -94,8 +94,19 @@
|
|
94
94
|
|
95
95
|
C++の問題点やRustの理念は一応本で読みました。確かにC++は野放図に使うとバグだらけで手に負えないプログラムになるので、Rustのように制約を課して危ないコードはコンパイルできないようにするのは理に適っていると思います。
|
96
96
|
|
97
|
-
しかし、グローバルの設定データのようなものは、適切にnamespaceを設定して、その中で変数名も`x`とか`i`みたいな外でも出てきそうな安易な名前を避ければ安全かつ簡単に扱えると思います。
|
97
|
+
しかし、グローバルの設定データのようなものは、適切にnamespaceを設定して、その中で変数名も`x`とか`i`みたいな外でも出てきそうな安易な名前を避ければ安全かつ簡単に扱えると思います。C++例:
|
98
98
|
|
99
|
+
```
|
100
|
+
namespace globalSettings
|
101
|
+
{
|
102
|
+
std::string programName;
|
103
|
+
std::string workingDirectory;
|
104
|
+
std::string userName;
|
105
|
+
}
|
106
|
+
```
|
107
|
+
|
108
|
+
これならこの値を参照したい、あるいは書き換えたいときに`globalSettings::workingDirectory`を操作するだけです。間違って上書きすることも人並みの注意力があればしないでしょう。
|
109
|
+
|
99
110
|
Rustの所有権や借用の理念はわかりますが、この`lazy_static!`については不便すぎではないかと感じていますが、たぶん私がまだRustを始めたばかりで理解が浅いのだと思います。
|
100
111
|
|
101
112
|
漠然とした質問になりますが、こういう設定データを扱う場合のRustらしい書き方はありますか?`lazy_static!`を使ったこと自体がC++の考え方をひきずっているのかも知れないと思い、この質問を追加しました。
|