回答編集履歴
3
余計なタグ削除
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
C/C++であれば、ポインターが使えますので、連結する代わりに分割されている領域のアドレス(&data)を配列(かリスト)に追加しておいて、利用する際にその配列(リスト)からアドレスを参照するというのはいかがでしょう?
|
2
2
|
|
3
3
|
配列やリストを作ったとしても、アドレスを保持する程度のものなので、コストも性能的にも問題ないように思います。
|
4
4
|
データを引数に渡すとの事ですが、連結したデータを返す関数(メソッド)を定義して、その関数へのポインターを引数として渡すという方法もあるかと思います。
|
2
stringについて認識違いがあったので「取り消し」
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
関数へのポインターについて追記
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
|
|