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

質問編集履歴

4

2021/03/30 04:41

投稿

Abcdegf
Abcdegf

スコア0

title CHANGED
File without changes
body CHANGED
@@ -29,7 +29,7 @@
29
29
  ## 追記
30
30
  言葉が足りず申し訳ないです。
31
31
 
32
- たとえば、C++であれば```std::string```や```std::array```などに文字列の情報を乗せることが出来ると思います。
32
+ たとえば、C++であれば```std::string```や```std::vector```などに文字列の情報を乗せることが出来ると思います。
33
33
  これであればメモリを好きな時に解放できると思うのですが、どうなのでしょう。
34
34
 
35
35
  つまり、文字列リテラルを散りばめれば大規模なコードでは、多くのメモリを静的ストレージ?に確保しなければならないと思います。その問題を回避するために、```std::string```などを利用することは理にかなっているのかと疑問に思いました。

3

2021/03/30 04:41

投稿

Abcdegf
Abcdegf

スコア0

title CHANGED
File without changes
body CHANGED
File without changes

2

2021/03/30 04:38

投稿

Abcdegf
Abcdegf

スコア0

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

2021/03/30 04:38

投稿

Abcdegf
Abcdegf

スコア0

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