teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

deque

2018/07/31 11:05

投稿

yumetodo
yumetodo

スコア5852

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

2018/07/31 11:05

投稿

yumetodo
yumetodo

スコア5852

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