我是靠谱客的博主 曾经鸡翅,最近开发中收集的这篇文章主要介绍【C++】For循环同时初始化两个及以上个变量0.引言1.初始化同类型变量2.初始化两个不同类型的变量,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
文章目录
- 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
}
这时可以使用std::pair的扩展std::tuple进行
for(std::tuple<int,double,int>s_tuple(10,0.1,-10);std::get<0>(s_tuple)>0 && std::get<1>(s_tuple)<100.0 && std::get<2>(s_tuple)<10; ){
;//TODO
}
最后
以上就是曾经鸡翅为你收集整理的【C++】For循环同时初始化两个及以上个变量0.引言1.初始化同类型变量2.初始化两个不同类型的变量的全部内容,希望文章能够帮你解决【C++】For循环同时初始化两个及以上个变量0.引言1.初始化同类型变量2.初始化两个不同类型的变量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复