當我遇到數據運算符時,我只是在閱讀有關向量。正在使用下面的示例數據運算符。STL向量運算符數據
#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;
}
輸出:
myvector contains: 10 20 0 100 0
我的問題是,爲什麼在0 0F 100和100的位置向後移動一個位置。 爲:
p
相當於myvector[0]
被給予值10
。++p;
現在p
點myvector[1]
給定值20
- 所以
20
後,100
應該來,爲什麼有0
。
這是更多的關於指針運算比'。數據()的VECTOR'''構件。 – Niall
我認爲使用指針「p」出於兩個不同的目的會產生混淆。作爲「數組」和「迭代器」。 –