vector<int> vTmp;
int nTmp = 0;
cout << "Input: " << endl;while (cin >> nTmp)
vTmp.push_back(nTmp);
if (vTmp.size() > 0)
{
const int nLen = vTmp.size();
int *nArr = new int[nLen]();
int i = 0;
for ( vector<int>::iterator iter = vTmp.begin(); iter != vTmp.end(); iter++, i++ )
{
*nAarr = *iter; // 我的理解就是vector值赋值给了数组
// 或者这样写:
nArr[i] = *iter; // 这个肯定是赋值
}
}
*nAarr = *iter;
疑惑nAarr解引用,他应该是指向数组首地址,我又觉得他始终应该赋值给数组的第一个元素。哪种理解对?为什么?
int nTmp = 0;
cout << "Input: " << endl;while (cin >> nTmp)
vTmp.push_back(nTmp);
if (vTmp.size() > 0)
{
const int nLen = vTmp.size();
int *nArr = new int[nLen]();
int i = 0;
for ( vector<int>::iterator iter = vTmp.begin(); iter != vTmp.end(); iter++, i++ )
{
*nAarr = *iter; // 我的理解就是vector值赋值给了数组
// 或者这样写:
nArr[i] = *iter; // 这个肯定是赋值
}
}
*nAarr = *iter;
疑惑nAarr解引用,他应该是指向数组首地址,我又觉得他始终应该赋值给数组的第一个元素。哪种理解对?为什么?
{
*nAarr = *iter; // 我的理解就是vector值赋值给了数组
nAarr++; nArr[i] = *iter; // ok
}