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::coutstd::vector
hasoperator[]
您对无法工作的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;
}