回答編集履歴
4
begin()での方法追記
test
CHANGED
@@ -16,6 +16,10 @@
|
|
16
16
|
|
17
17
|
[std::vector::begin](https://cpprefjp.github.io/reference/vector/vector/begin.html)が返すのは先頭要素のポインタではなくイテレータです。
|
18
18
|
|
19
|
+
`begin()`でやりたいなら、`&*v.begin()`。
|
20
|
+
|
21
|
+
`*`をつけて先頭要素の参照を取得し、さらに`&`をつけてアドレスを取得。
|
22
|
+
|
19
23
|
|
20
24
|
|
21
25
|
---
|
3
front(),data()追記
test
CHANGED
@@ -15,3 +15,11 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
[std::vector::begin](https://cpprefjp.github.io/reference/vector/vector/begin.html)が返すのは先頭要素のポインタではなくイテレータです。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
---
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
[`&v.front()`](https://cpprefjp.github.io/reference/vector/vector/front.html)や[`v.data()`](https://cpprefjp.github.io/reference/vector/vector/data.html)でもよいです。
|
2
beginについて追記
test
CHANGED
@@ -3,3 +3,15 @@
|
|
3
3
|
|
4
4
|
|
5
5
|
[std::vector::operator[]](https://cpprefjp.github.io/reference/vector/vector/op_at.html)は要素への参照を返します。[vectorの要素はメモリ上で連続していることが保証されている](https://cpprefjp.github.io/reference/vector/vector.html)ため、`&v[0]`で取得した先頭要素のアドレスから要素数分連続して格納されています。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
> .begin()ではエラーになります
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
[std::vector::begin](https://cpprefjp.github.io/reference/vector/vector/begin.html)が返すのは先頭要素のポインタではなくイテレータです。
|
1
メモリ上で連続している旨追記
test
CHANGED
@@ -1 +1,5 @@
|
|
1
1
|
`vector<VERTEX3D> v;`が空でないのなら`&v[0]`でよいです。
|
2
|
+
|
3
|
+
|
4
|
+
|
5
|
+
[std::vector::operator[]](https://cpprefjp.github.io/reference/vector/vector/op_at.html)は要素への参照を返します。[vectorの要素はメモリ上で連続していることが保証されている](https://cpprefjp.github.io/reference/vector/vector.html)ため、`&v[0]`で取得した先頭要素のアドレスから要素数分連続して格納されています。
|