vector<int> vIntVector(10);
vIntVector.push_back(1);
vIntVector.push_back(2);
vIntVector.push_back(3);
vIntVector.push_back(4);
vIntVector.push_back(5);
vIntVector.push_back(6);
vIntVector.push_back(7);
vIntVector.push_back(8);
vIntVector.push_back(9);
vIntVector.push_back(10); int i=1;
vector<int>::iterator intIterator;
TRACE(" Iterator: ");
for (intIterator = vIntVector.begin(); intIterator != vIntVector.end(); intIterator++)
{
// TRACE("%d",*intIterator);
TRACE("%d",vIntVector.at(i));
if (intIterator != vIntVector.end()-1)
TRACE( " , ");
i++;
}
TRACE( "\n");Iterator: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
怎么会打出这种东西 而不是直接1-10TRACE("%d",*intIterator); TRACE("%d",vIntVector.at(i)); 都是一个结果
vIntVector.push_back(1);
vIntVector.push_back(2);
vIntVector.push_back(3);
vIntVector.push_back(4);
vIntVector.push_back(5);
vIntVector.push_back(6);
vIntVector.push_back(7);
vIntVector.push_back(8);
vIntVector.push_back(9);
vIntVector.push_back(10); int i=1;
vector<int>::iterator intIterator;
TRACE(" Iterator: ");
for (intIterator = vIntVector.begin(); intIterator != vIntVector.end(); intIterator++)
{
// TRACE("%d",*intIterator);
TRACE("%d",vIntVector.at(i));
if (intIterator != vIntVector.end()-1)
TRACE( " , ");
i++;
}
TRACE( "\n");Iterator: 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10
怎么会打出这种东西 而不是直接1-10TRACE("%d",*intIterator); TRACE("%d",vIntVector.at(i)); 都是一个结果
你应该这么写
第一行改为vector<int> vIntVector;就是你想要得了,vector的大小是动态可调的,不需要你去指定
这句的意思是构造一个有10个元素的vector容器,同时将每个元素赋默认的初值0。
当再次用push_back的时候,vector容器会动态地调整大小,此时每调用一次push_back容器中就会多一个有效元素。
(10);vector是一种基于函数模板的类,其对象定义与成员数据的赋值应该按照类的规则进行,即通过成员函数pushback完成,所以正确代码应该是: