回答編集履歴
2
deque
answer
CHANGED
@@ -54,6 +54,8 @@
|
|
54
54
|
2. 上記のような`uninitialized_move_if_noexcept_or_copy`で例外安全にmoveもしくはcopyする
|
55
55
|
3. 古い領域をdelete(というかアロケーターのdeallocate関数を呼ぶ)
|
56
56
|
|
57
|
+
そもそもstd::vectorは要素の連続を要求します。ポインタの連結をやっているのはstd::dequeですね
|
58
|
+
|
57
59
|
---
|
58
60
|
|
59
61
|
|
1
vector
answer
CHANGED
@@ -44,4 +44,17 @@
|
|
44
44
|
result
|
45
45
|
);
|
46
46
|
}
|
47
|
-
```
|
47
|
+
```
|
48
|
+
|
49
|
+
> そのポインタを連結させているんですかね・
|
50
|
+
|
51
|
+
ちがいます。
|
52
|
+
|
53
|
+
1. newする(というかアロケーターのallocate関数を呼ぶ
|
54
|
+
2. 上記のような`uninitialized_move_if_noexcept_or_copy`で例外安全にmoveもしくはcopyする
|
55
|
+
3. 古い領域をdelete(というかアロケーターのdeallocate関数を呼ぶ)
|
56
|
+
|
57
|
+
---
|
58
|
+
|
59
|
+
|
60
|
+
あれですね、一回`std::vector`を実装してみますか?実装に必要なヘルパー関数群と実装するメンバ関数の宣言だけのやつに単体テストとbitbucket pipelineの設定付きであとは実装するだけのやつを私のTwitterのフォロワーの人のために作ったのですが、よければ差し上げますよ?
|