I use the data method of vector in C++, but I have some problems, the code is in belows:
#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;
}
the result is myvector contains: 10 20 0 100 0
, but why the result is not myvector contains: 10 20 100 0 0
, the first one *p = 10;
is 10, the second one ++p;*p = 20;
is 20, that's all right, but the third one p[2] = 100;
should be 100, but it is 0, why?
Aucun commentaire:
Enregistrer un commentaire