回答編集履歴
2
deque
test
CHANGED
@@ -110,6 +110,10 @@
|
|
110
110
|
|
111
111
|
|
112
112
|
|
113
|
+
そもそもstd::vectorは要素の連続を要求します。ポインタの連結をやっているのはstd::dequeですね
|
114
|
+
|
115
|
+
|
116
|
+
|
113
117
|
---
|
114
118
|
|
115
119
|
|
1
vector
test
CHANGED
@@ -91,3 +91,29 @@
|
|
91
91
|
}
|
92
92
|
|
93
93
|
```
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
> そのポインタを連結させているんですかね・
|
98
|
+
|
99
|
+
|
100
|
+
|
101
|
+
ちがいます。
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
1. newする(というかアロケーターのallocate関数を呼ぶ
|
106
|
+
|
107
|
+
2. 上記のような`uninitialized_move_if_noexcept_or_copy`で例外安全にmoveもしくはcopyする
|
108
|
+
|
109
|
+
3. 古い領域をdelete(というかアロケーターのdeallocate関数を呼ぶ)
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
---
|
114
|
+
|
115
|
+
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
あれですね、一回`std::vector`を実装してみますか?実装に必要なヘルパー関数群と実装するメンバ関数の宣言だけのやつに単体テストとbitbucket pipelineの設定付きであとは実装するだけのやつを私のTwitterのフォロワーの人のために作ったのですが、よければ差し上げますよ?
|