C++ 从数组转换后迭代到向量 intarr[6]={1,4,20,3,10,5}; 对于(int i=0;i

C++ 从数组转换后迭代到向量 intarr[6]={1,4,20,3,10,5}; 对于(int i=0;i,c++,vector,iterator,C++,Vector,Iterator,将数组转换为向量后。我必须在向量中应用相同的逻辑。 请指导我如何在std::vector中迭代。这取决于您希望如何操作std::vector的元素,以及您是否需要索引信息。例如,如果您想要迭代std::vector v并想要更改元素,您可以使用 for( auto& val : v ) { val = 0; } 如果不更改元素,请使用 for( const auto& val : v ) { std::cout << val << std

将数组转换为向量后。我必须在向量中应用相同的逻辑。
请指导我如何在
std::vector

中迭代。这取决于您希望如何操作
std::vector
的元素,以及您是否需要索引信息。例如,如果您想要迭代
std::vector v
并想要更改元素,您可以使用

for( auto& val : v )
{
    val = 0;
}
如果不更改元素,请使用

for( const auto& val : v )
{
    std::cout << val << std::endl;
}
for(常数自动&val:v)
{

std::cout
std::vector
has
operator[]
您对无法工作的vector尝试了什么?
std::size_t size = v.size();

for( std::size_t i = 0; i < size; ++i )
{
    v[i] = i;
}
int* data = v.data();
std::size_t size = v.size();

for( std::size_t i = 0; i < size; ++i, ++data )
{
    *data = i;
}