回答編集履歴
1
文言
test
CHANGED
@@ -4,13 +4,15 @@
|
|
4
4
|
|
5
5
|
このフォーマットの場合、キャストで構造体にすることはできません。
|
6
6
|
|
7
|
-
ポインタかインデックスを1つずつ進めながらデータをパーズするしかないです。
|
7
|
+
ポインタかインデックスを1つずつ進めながら入力データをパーズするしかないです。
|
8
8
|
|
9
9
|
|
10
10
|
|
11
11
|
例:
|
12
12
|
|
13
13
|
* `struct Users`: 削除
|
14
|
+
|
15
|
+
* `struct User`: `name_length` を削除
|
14
16
|
|
15
17
|
* `struct User`: `name` を `std::string` にする
|
16
18
|
|
@@ -28,8 +30,8 @@
|
|
28
30
|
|
29
31
|
-- ポインタが指す値を読んで `User::id` に格納、ポインタを進める
|
30
32
|
|
31
|
-
-- ポインタが指す値を読んで `
|
33
|
+
-- ポインタが指す値を読んで変数 `nameLength` に格納、ポインタを進める
|
32
34
|
|
33
|
-
-- ポインタが指すアドレスから `
|
35
|
+
-- ポインタが指すアドレスから長さ `nameLength` のエリアで `std::string` を作って `User::name` に格納。ポインタに `nameLength` を足す
|
34
36
|
|
35
37
|
-- ...
|