vector data() [c++11]


Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// vector::data
#include <iostream>
#include <vector>

int main ()
{
  std::vector<int> myvector (5);

  int* p = myvector.data();

  *p = 10;
  ++p;
  *p = 20;
  p[2] = 100;

  std::cout << "myvector contains:";
  for (unsigned i=0; i<myvector.size(); ++i)
    std::cout << ' ' << myvector[i];
  std::cout << '\n';

  return 0;
}



Output:

myvector contains: 10 20 0 100 0

在c++11中,vector 增加了data()的用法,它返回內置vecotr所指的數組內存的第一個元素的指針。

 int* p = myvector.data();則p指向myvector的第一個元素指針,而
 ++p;則p指向了myvector的第二個指針,也即p[0]為myvector的第二個元素,則p[2]指向myvector的第四個元素。其他同理。有不懂得同學可以留言


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM