免费游戏网站模板,汉阳做网站多少钱,server 2008 r2搭建网站,湖南建设工程采购网站文章目录0.引言1.初始化同类型变量2.初始化两个不同类型的变量0.引言 \qquadC的for循环在初始化时可以通过类型定义符直接初始化两个相同类型的变量#xff0c;但是对于不同类型的变量是不可以直接初始化的#xff0c;若想达到类似python的zip()函数的多类型多变量迭代的效果…
文章目录0.引言1.初始化同类型变量2.初始化两个不同类型的变量0.引言
\qquadC的for循环在初始化时可以通过类型定义符直接初始化两个相同类型的变量但是对于不同类型的变量是不可以直接初始化的若想达到类似python的zip()函数的多类型多变量迭代的效果则需要使用C特有的包装将其多个变量包装为单个迭代器进行迭代。
1.初始化同类型变量
可在类型定义符时直接初始化
for(int i0,j0;i10 j10; i,j){;// TODO
}2.初始化两个不同类型的变量
使用结构体初始化不同类型的两个变量
for(struct {int a;double b}s {10,0.1}; a0 s100; --a,s *2){;//TODO
}使用std::pair初始化两个不同类型的变量较结构体方法不能直接初始化两个以上类型的变量
for(std::pairint,doubles_pair(10,0.1);s_pair.first0 s_pair.sencond100.0; --s_pair.first, s_pair.second *2){;//TODO
}这时可以使用std::pair的扩展std::tuple进行
for(std::tupleint,double,ints_tuple(10,0.1,-10);std::get0(s_tuple)0 std::get1(s_tuple)100.0 std::get2(s_tuple)10; ){;//TODO
}