【C++】For循环同时初始化两个变量

【C++】For循环同时初始化两个变量,第1张

文章目录
  • 0.引言
  • 1.初始化同类型变量
  • 2.初始化两个不同类型的变量

0.引言

\qquad C++的for循环在初始化时可以通过类型定义符直接初始化两个相同类型的变量,但是对于不同类型的变量是不可以直接初始化的,若想达到类似python的zip()函数的多类型多变量迭代的效果,则需要使用C++特有的包装将其多个变量包装为单个迭代器进行迭代。

1.初始化同类型变量

可在类型定义符时直接初始化

for(int i=0,j=0;i<10 && j<10; ++i,++j){
	;// TODO
}
2.初始化两个不同类型的变量

使用结构体初始化不同类型的两个变量

for(struct {int a;double b}s = {10,0.1}; a>0 && s<100; --a,s *=2){
	;//TODO
}

使用std::pair初始化两个不同类型的变量(较结构体方法不能直接初始化两个以上类型的变量)

for(std::pair<int,double>s_pair(10,0.1);s_pair.first>0 && s_pair.sencond<100.0; --s_pair.first, s_pair.second *=2){
	;//TODO
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/714693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存