当前位置: 首页 > news >正文

软件界面设计的基本原则福州seo推广

软件界面设计的基本原则,福州seo推广,网站上做皮肤测试,网站建设公司的会计分录目录 一,范围for介绍 二,范围for注意事项 一,范围for介绍 范围for(range-based for loop)是C11新引入的特性,可遍历各种序列结构的容器(如数组、vector、list等);每次循…

目录

一,范围for介绍

二,范围for注意事项


一,范围for介绍

        范围for(range-based for loop)是C++11新引入的特性,可遍历各种序列结构的容器(如数组、vector、list等);每次循环都会将序列中的下一个元素,赋值给声明的变量,直到循环结束;

//element_declaration 声明循环变量的类型和名字
//sequence 是一个序列结构,例如数组、向量、列表等,或具有迭代器接口的对象;
for ( element_declaration : sequence ) {// 循环体
}

使用条件

  • 范围for迭代的范围需确定;
  • 迭代的对象要实现++和==操作;

原理是通过序列的迭代器来遍历其中的元素,编译器会自动处理迭代器的初始化、增量及结束等细节,无需手动操作;

int main()
{list<int> li = { 1,2,3,4 };for (auto i : li)cout << i << " ";return 0;
}

数组也是序列结构可通过模板函数begin/end获取相应的迭代器;

container (1)	template <class Container>auto begin (Container& cont) -> decltype (cont.begin());template <class Container>auto begin (const Container& cont) -> decltype (cont.begin());
array (2)	template <class T, size_t N>T* begin (T(&arr)[N]);
container (1)	template <class Container>auto end (Container& cont) -> decltype (cont.end());template <class Container>auto end (const Container& cont) -> decltype (cont.end());
array (2)	template <class T, size_t N>T* end (T(&arr)[N]);
int main() 
{int arr[] = { 1, 2, 3, 4, 5 };for (int* ptr = begin(arr); ptr != end(arr); ++ptr)std::cout << *ptr << " ";return 0;
}

二,范围for注意事项

  • 范围for迭代的范围是确定的,所以无需担心下班越界;
  • 可遍历定义了begin() 和 end() 方法的对象,如vector,set,list,map,queue,deque,string;
  • 不可使用指针(如new生成的数组)作为循环结构里的序列;
  • 由于数组在遍历的时候会转换成指针,所以在遍历多维数组的时候,除最内层循环外,其他所有循环的控制变量都要使用引用的形式。
class myclass
{
public://需定义begin、end这两个成员函数,才可使用范围forint* begin() { return arr; }	int* end() { return arr + 4; }
private:int arr[4] = { 1,2,3,4 };
};int main()
{myclass li;for (auto i : li)cout << i << " ";return 0;
}
int main()
{int arr[] = { 1, 2, 3, 4, 5 };for (auto i : arr)std::cout << i << " ";return 0;
}
int main()
{int* parr = new int[5];//parr无合适的begin函数,报错for (auto i : parr)std::cout << i << " ";return 0;
}
int main()
{int arr[2][3] = { {1,2,3},{4,5,6} };//row的类型为int*,即arr内每个元素的首元素地址for (auto row : arr) cout << row << " ";//row的类型为int[3]&,即arr内每个元素的类型for (auto& row : arr)cout << row << " ";//其中最内层的循环col类型为int[3]&,是数组for (auto& row : arr)for (auto col : row) //col的类型为int,cout << col << " ";return 0;
}


 

http://www.ds6.com.cn/news/102389.html

相关文章:

  • 大良营销网站建设精英安卓优化大师下载安装
  • 郑州建网站价山西seo基础教程
  • 家具网站建设seo排名哪家正规
  • 网站建设质量管理定义百度引擎搜索
  • 北师大网页制作与网站建设吉林网络推广公司
  • 做一个营销型网站有哪些内容搜索引擎营销的原理是什么
  • jsp做网站好不好郑州seo技术服务顾问
  • 有谁有做卫生纸巾的网站口碑营销的步骤
  • python 如何做网站友情链接的英文
  • 大连 网站建设seo新手快速入门
  • 一个人做网站建设需掌握百度人工客服在线咨询
  • 宁波专业网站建设公司武汉网站设计十年乐云seo
  • 大气婚庆网站源码提交链接
  • 某企业网站的设计与实现互联网医疗的营销策略
  • 石家庄微网站建设公司搜索引擎的优化方法
  • 把手机做网站服务器百度搜索引擎优化案例
  • 怎么帮网站做支付接口搜索引擎
  • 顶尖手机网站建设拉人注册给佣金的app
  • 小公司自己怎样做网站免费个人网站建站申请
  • 德清建设银行网站网络营销岗位描述的内容
  • 看英语做游戏的网站seo日常优化内容是什么
  • 如何网站做专题潍坊seo排名
  • 网站首页漂浮广告代码广州百度推广开户
  • 网站式的公司记录怎么做成都网站seo设计
  • 如何做网站好看可以推广的软件
  • 武汉光谷做网站的公司站内搜索工具
  • 网站开发教育培训中国万网官网登录
  • wordpress 回复后可见河南靠谱seo电话
  • 以后做网站发展前途佛山网站建设方案服务
  • 盘锦做网站电话四川百度推广和seo优化