回答編集履歴

3

余計なタグ削除

2022/10/05 03:00

投稿

San
San

スコア8

test CHANGED
@@ -1,4 +1,4 @@
1
- 打ち消し線C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
1
+ C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
2
2
 
3
3
  配列やリストを作ったとしても、アドレスを保持する程度のものなので、コストも性能的にも問題ないように思います。
4
4
  データを引数に渡すとの事ですが、連結したデータを返す関数(メソッド)を定義して、その関数へのポインターを引数として渡すという方法もあるかと思います。

2

stringについて認識違いがあったので「取り消し」

2022/10/05 02:38

投稿

San
San

スコア8

test CHANGED
@@ -1,4 +1,4 @@
1
- C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
1
+ 打ち消し線C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
2
2
 
3
3
  配列やリストを作ったとしても、アドレスを保持する程度のものなので、コストも性能的にも問題ないように思います。
4
4
  データを引数に渡すとの事ですが、連結したデータを返す関数(メソッド)を定義して、その関数へのポインターを引数として渡すという方法もあるかと思います。
@@ -6,11 +6,11 @@
6
6
 
7
7
  当然、アドレスを保持するデータ領域は、alloc()などで確保しておき、内容が変更されない事を保証する必要はあります。(使い終えたらfree()で解放も必要)
8
8
 
9
- 後、私が使っていた時代と今は異なる可能性があるので、無視して頂いて構わないのですが、
9
+ ~~後、私が使っていた時代と今は異なる可能性があるので、無視して頂いて構わないのですが、~~
10
- バイナリーデータを読み込んで格納する場合は、stringではなくchar(byte)なのでは?と。
10
+ ~~バイナリーデータを読み込んで格納する場合は、stringではなくchar(byte)なのでは?と。~~
11
- string型はあくまでも「文字列」型のため、unicodeなどのマルチバイト文字を「1文字」として扱うように思います。一方画像データは1バイトずつのデータの塊です。
11
+ ~~string型はあくまでも「文字列」型のため、unicodeなどのマルチバイト文字を「1文字」として扱うように思います。一方画像データは1バイトずつのデータの塊です。~~
12
- 本来1バイトで済むデータをstring型に入れると、それだけ余剰がでてしまうのでは?と懸念します。
12
+ ~~本来1バイトで済むデータをstring型に入れると、それだけ余剰がでてしまうのでは?と懸念します。~~
13
- (stringが4バイト使うなら、本来5バイトのデータをstring型に格納すると、lengthは5になるが、使う領域は20バイトになる)
13
+ ~~(stringが4バイト使うなら、本来5バイトのデータをstring型に格納すると、lengthは5になるが、使う領域は20バイトになる)~~
14
- char型は最初から1バイトですから、5バイトで長さ5の配列であっても使う領域は5バイトのままかと。
14
+ ~~char型は最初から1バイトですから、5バイトで長さ5の配列であっても使う領域は5バイトのままかと。~~
15
- (古い知識なので、間違っていたら申し訳ありません)
15
+ ~~(古い知識なので、間違っていたら申し訳ありません)~~
16
16
 

1

関数へのポインターについて追記

2022/10/05 02:28

投稿

San
San

スコア8

test CHANGED
@@ -1,6 +1,8 @@
1
1
  C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
2
2
 
3
3
  配列やリストを作ったとしても、アドレスを保持する程度のものなので、コストも性能的にも問題ないように思います。
4
+ データを引数に渡すとの事ですが、連結したデータを返す関数(メソッド)を定義して、その関数へのポインターを引数として渡すという方法もあるかと思います。
5
+ (Cのsort関数のパラメータなどが参考になります)
4
6
 
5
7
  当然、アドレスを保持するデータ領域は、alloc()などで確保しておき、内容が変更されない事を保証する必要はあります。(使い終えたらfree()で解放も必要)
6
8