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

为什么要推行政务公开网站建设江苏做帖子网站

为什么要推行政务公开网站建设,江苏做帖子网站,wordpress文章字体,做兼职比较好的网站CSDN的uu们#xff0c;大家好。这里是C入门的第七讲。 座右铭#xff1a;前路坎坷#xff0c;披荆斩棘#xff0c;扶摇直上。 博客主页#xff1a; 姬如祎 收录专栏#xff1a;C专题 目录 1. 知识引入 2. auto的使用 2.1 auto与指针和引用结合起来使用 2.2 在同一… · CSDN的uu们大家好。这里是C入门的第七讲。 · 座右铭前路坎坷披荆斩棘扶摇直上。 · 博客主页 姬如祎 · 收录专栏C专题 目录 1. 知识引入 2. auto的使用 2.1 auto与指针和引用结合起来使用 2.2 在同一行定义多个变量 2.3 auto不能推导的场景  2.3.1 auto不能作为函数的参数 2.3.2 auto不能直接用来声明数组 3. auto与范围for的结合 1. 知识引入 曾记否我们在用C语言实现基础的数据结构时会用到结构体来作为链表的一个节点像这样 struct ListNode {struct ListNode* next;int val; };int main() {struct ListNode node; }我们在使用这个节点的时候前面的变量类型就要写这么多是不是很烦很不舒服。当然你也可能会觉得这还好啊不久两个单词嘛。但是在C的后续学习过程中你可能会遇到这样的变量类型 #includemap #includestringint main() {std::mapstd::string, std::string::iterator a; } 这样看下来是不是觉得写变量的类型还是真的有些麻烦。不过聪明的UU可能想到可以用 typedef 给变量区别名来达到简化的效果非常棒但是呢C引入了一种更为简单的方式 C11中标准委员会赋予了auto全新的含义即auto不再是一个存储类型指示符而是作为一个新的类型指示符来指示编译器auto声明的变量必须由编译器在编译时期推导而得。 意思就是auto关键字能够自动推导变量的类型。当然你是用 auto 时编译器无法推出变量的类型就会报错的啦 int main() {auto a 10; //正确的写法auto e; //错误的写法 } 2. auto的使用 int main() {auto e; } 上面提到 这种写法是不正确的原因是什么呢来看看标准化的解释  使用auto定义变量时必须对其进行初始化在编译阶段编译器需要根据初始化表达式来推导auto的实际类型。因此auto并非是一种“类型”的声明而是一个类型声明时的“占位符”编译器在编译期会将auto替换为变量实际的类型。 2.1 auto与指针和引用结合起来使用 用auto声明指针类型时用auto和auto*没有任何区别但用auto声明引用类型时则必须 加。 int main() {auto a 10;auto pa1 a;auto* pa2 a;auto ra a; //声明引用必须加cout typeid(a).name() endl;cout typeid(pa1).name() endl;cout typeid(pa2).name() endl;cout typeid(ra).name() endl;} 为什么声明引用必须加上呢原因很简单拿上面的例子来说不加只是声明了一个 int 类型的变量然后赋值为 a 的值。另外我们可以使用 typeid(变量).name() 来查看变量的类型。 2.2 在同一行定义多个变量 当在同一行声明多个变量时这些变量必须是相同的类型否则编译器将会报错因为编译 器实际只对第一个类型进行推导然后用推导出来的类型定义其他变量。 2.3 auto不能推导的场景  2.3.1 auto不能作为函数的参数 void Func1(auto b) //错误的写法 {}void Func2(auto a 10) //错误的写法 {} 代码会编译失败auto不能作为形参类型因为编译器无法对a的实际类型进行推导。缺省的参数也不行哦 2.3.2 auto不能直接用来声明数组 auto a[4] { 1,2,3,4 }; //错误的写法 3. auto与范围for的结合 在C98中我们要遍历数组会写出这样的代码 int main() {int a[10] { 0,1,2,3,4,5,6,7,8,9 };for (int i 0; i sizeof(a) / sizeof(a[0]); i)cout a[i] ; } 但是这种鞋码对于一个本身就有范围的集合来说我们还去自己写代码来指定他的范围就显得有些多余了甚至可能哈辉犯错误因此C11中引入了基于范围的for循环。for循环后的括号由冒号(:)分为两部分第一部分是范围内用于迭代的变量第二部分则表示被迭代的范围。 int main() {int a[10] { 0,1,2,3,4,5,6,7,8,9 };for (int i 0; i sizeof(a) / sizeof(a[0]); i)cout a[i] ;for (auto i : a)cout i ;for (int i : a)cout i ; } 上面的三种写法都是等效的可以使用auto来自动推导得到的变量类型。 注意与普通循环类似可以用continue来结束本次循环也可以用break来跳出整个循环。 你如果要改变原数组的值你可以使用引用哦像下面这样 int main() {int a[10] { 0,1,2,3,4,5,6,7,8,9 };for (int i 0; i sizeof(a) / sizeof(a[0]); i)a[i] 1;for (auto i : a)i 1;for (int i : a)i 1; } 范围for循环的底层是使用迭代器来完成遍历的操作的。至于迭代器是个啥后面会讲到
http://www.dnsts.com.cn/news/187420.html

相关文章:

  • 观音桥网站建设网站建设美橙做过网站案例
  • 怎样做网站公司的销售中机建设一公司网站
  • 整站快速排名wordpress极客社区小程序
  • 上海网站制作培训班wordpress建站微信联系
  • 官方网站开发用什么语言网页打不开验证码图片
  • 免费个人网站怎么建立邵阳最新新闻
  • 什么样的网站利于seo集团微信网站方案策划
  • 有用织梦做的大网站吗安庆做网站企业
  • 人和马做的网站北京专业的网站建设
  • 做淘宝头像的网站有哪些中信建设有限责任公司杨建强
  • 网站建设合作协议模板wordpress index of
  • 长沙网站制作一般多少钱网店大师
  • 亚马逊做品牌备案自有网站wordpress 生成cookies
  • 太仓违章建设举报网站回合网页游戏排行榜前十名
  • 专业的网站建设公司做班级网站的目的
  • 北京永安市政建设投资有限公司网站分享网站友情链接
  • 做网站需要icp经营许可证做网站怎么在国外服务器租用
  • 太仓市住房和城乡建设局官方网站wordpress 添加微博
  • 网站建设费可以抵扣么有关网站开发的参考文献
  • 上传网站到虚拟主机上海电子商务网站开发
  • 维护网站费用深入浅出php
  • 临沂市建设局网站勘察设计1000个免费邮箱账号
  • 如何批量建站mvc做的网站如何发布访问
  • 网站建设合同 简单基于html5的电商网站开发
  • 重庆中小企业网站建设公司建设银行怎么在网站设置限额
  • 做金融量化的网站百度云网站开发怎样开网站
  • 辽宁城建设计院有限公司网站wordpress图片粘贴插件
  • 模特公司网站模板产品推广方案策划书
  • 网站推广排名宣传页制作
  • 服装网站的建设方案网站建设钟振森