回答編集履歴

2

deque

2018/07/31 11:05

投稿

yumetodo
yumetodo

スコア5850

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

2018/07/31 11:05

投稿

yumetodo
yumetodo

スコア5850

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のフォロワーの人のために作ったのですが、よければ差し上げますよ?