質問編集履歴
4
title
CHANGED
File without changes
|
body
CHANGED
@@ -29,7 +29,7 @@
|
|
29
29
|
## 追記
|
30
30
|
言葉が足りず申し訳ないです。
|
31
31
|
|
32
|
-
たとえば、C++であれば```std::string```や```std::
|
32
|
+
たとえば、C++であれば```std::string```や```std::vector```などに文字列の情報を乗せることが出来ると思います。
|
33
33
|
これであればメモリを好きな時に解放できると思うのですが、どうなのでしょう。
|
34
34
|
|
35
35
|
つまり、文字列リテラルを散りばめれば大規模なコードでは、多くのメモリを静的ストレージ?に確保しなければならないと思います。その問題を回避するために、```std::string```などを利用することは理にかなっているのかと疑問に思いました。
|
3
title
CHANGED
File without changes
|
body
CHANGED
File without changes
|
2
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
C++やCでは文字リテラルはプログラムの終始でメモリを必要とすると習いました。
|
2
2
|
|
3
|
-
ということは、大規模なアプリなどでは、文字リテラルの使用はメモリ容量の観点から推奨されるものではないのでしょうか?
|
3
|
+
~~ということは、大規模なアプリなどでは、文字リテラルの使用はメモリ容量の観点から推奨されるものではないのでしょうか?~~
|
4
4
|
|
5
5
|
例えば
|
6
6
|
|
@@ -24,4 +24,12 @@
|
|
24
24
|
|
25
25
|
```
|
26
26
|
|
27
|
-
1回hoge()を呼び出すだけでも終始文字リテラルの```abcdefg```はメモリを占有するという理解でよろしいでしょうか?
|
27
|
+
~~1回hoge()を呼び出すだけでも終始文字リテラルの```abcdefg```はメモリを占有するという理解でよろしいでしょうか?~~
|
28
|
+
|
29
|
+
## 追記
|
30
|
+
言葉が足りず申し訳ないです。
|
31
|
+
|
32
|
+
たとえば、C++であれば```std::string```や```std::array```などに文字列の情報を乗せることが出来ると思います。
|
33
|
+
これであればメモリを好きな時に解放できると思うのですが、どうなのでしょう。
|
34
|
+
|
35
|
+
つまり、文字列リテラルを散りばめれば大規模なコードでは、多くのメモリを静的ストレージ?に確保しなければならないと思います。その問題を回避するために、```std::string```などを利用することは理にかなっているのかと疑問に思いました。
|
1
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,7 +14,9 @@
|
|
14
14
|
|
15
15
|
int main(){
|
16
16
|
|
17
|
+
{
|
17
18
|
const char* moji = hoge();
|
19
|
+
}
|
18
20
|
|
19
21
|
//これ以降 関数hogeは使わないがhoge関数内の"abcdefg"のメモリは確保され続ける
|
20
22
|
|