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

网站开发asp.net和sql数据库国家域名注册服务网

网站开发asp.net和sql数据库,国家域名注册服务网,重庆市建设工程信息网登录入口,wordpress 菜单状态系列文章目录 C11新特性使用详解-持续更新 文章目录 系列文章目录前言一、auto关键字1.根据变量的初始化表达式来推导变量的类型2.const与引用 二、decltype关键字1.推断表达式的类型2.const与引用 三、总结 前言 auto和decltype是C11引入的俩个重要的新关键字#xff0c;用…系列文章目录 C11新特性使用详解-持续更新 文章目录 系列文章目录前言一、auto关键字1.根据变量的初始化表达式来推导变量的类型2.const与引用 二、decltype关键字1.推断表达式的类型2.const与引用 三、总结 前言 auto和decltype是C11引入的俩个重要的新关键字用于在编译期自动推导出变量或表达式的类型。极大提高代码的可读性和简洁性并且有助于减少类型转换错误。 一、auto关键字 编程时常常需要把表达式的值赋给变量这就要求变量申明时必须清楚知道表达式的类型。做到这点不容易或者根本做不到。为了解决这个问题C11引入auto关键字让编译器自动推导变量的类型。 1.根据变量的初始化表达式来推导变量的类型 auto a 1; // a的类型为int auto b 5.20; // b的类型为double auto c auto; // c的类型为const char[6] auto person1 Person(); // person1的类型为Person,并且自动初始化成员变量变量 auto person2 Person{ Fei, 30 }; // person2的类型为Person,并且根据指定的初始值初始化成员变量变量std::vectorint vec { 1, 2, 3, 4, 5 }; for (auto it vec.begin(); it ! vec.end(); it) { // 在for循环中使用auto推导类型std::cout *it ; }2.const与引用 使用引用其实是使用引用的对象。特别是当引用被当作初始值时正在参与初始化的是引用对象的值。此时编译器以引用对象的类型作为auto的类型。 int i 10, r i; auto aa r; //推导出aa类型是intr是i的别名i是int正在参与初始化的是引用对象的值以引用对象的值作为auto的类型//auto一般会忽略顶层const,同时底层const则会被保留 const int ci i, cr ci; auto bb ci; //推导出bb类型是intci的顶层const特性被忽略了 auto cc cr; //推导出cc类型是intcr是ci的别名ci本身是一个顶层const auto dd i; //推导出cc类型是int* auto ee ci; //推导出cc类型是const int*对常量对象取地址是一种底层const//如果希望auto推断出来的类型是一个顶层的const需要明确指出 const auto ff ci; //推导出b类型是int//设置类型为auto的引用是初始值中的顶层常量属性任然保留 auto gg ci; //推导出b类型是const int二、decltype关键字 希望从表达式的类型中推导除要定义的变量的类型但是不想用该表达式的值初始化变量。为了满足这各要求C11引入decltype关键字让编译器自动推导表达式的类型而不用计算表达式的值。 1.推断表达式的类型 int x 10; decltype(x) y; //y的类型是intdouble foo(); decltype(foo()) z; //z的类型是double根据函数返回值类型推导2.const与引用 decltype处理顶层const和引用的方法和auto不同。 如果表达式是一个引用类型decltype会去除引用推导出引用所引用的类型。 例如对于表达式int x, decltype(x)的推导结果是int去除了引用。 需要注意的是decltype推导出的类型会保留顶层const限定符和volatile限定符不会去除它们。 const int cii 10, cjj cii; decltype(cjj) xx 0; //x的类型是const int decltype(cjj) yy xx; //x的类型是const inty绑定到x //decltype(cjj) zz; //错误: z是个引用必须初始化int xxx 0; decltype(xxx) pp 0;三、总结 在不影响代码可读性的前提下可以尽可能的使用auto。复杂类型用auto但是简单内置类型就没有必要使用auto了。总之避免过度使用auto和decltype以保持代码的可读性和维护性。
http://wiki.neutronadmin.com/news/332714/

相关文章:

  • 承德微网站建设网页设计图片与图片的位置
  • 本地做网站教程关键词优化的技巧
  • 多层分销网站建设百度在线做网站
  • 剑灵网站模板wordpress支付查看插件
  • 涿州是住房和城乡建设局网站辽阳公司做网站
  • 汕尾网站网站建设外国人的做视频网站吗
  • 在家做兼职哪个网站柳州免费做网站的公司
  • 品牌网站建设小蝌蚪1a北京网站设计制作教程
  • 中车建设工程有限公司网站app企业网站模板
  • 合肥市有做网站的公司吗嘉兴网站建设定制
  • 祥云平台建站wordpress标签的作用
  • 谷歌网站入口设计网站注意哪些问题
  • 网站建设夜猫微转app是用网站做的吗
  • 快速网站建设哪家好如何去做网络营销
  • 区网站开发语言顺德网站建设信息
  • 北京免费网站开发维护网站跳出率多少
  • 泰安做网站建设的公司哪家好请简述网站开发的流程图
  • 微信怎么做链接网站网站防站
  • 做网站用哪个预装系统自己做的网站怎么放到网上去
  • 企业网站推广的一般策略盗版视频网站建设费用
  • 青岛市北建设集团网站网络运营seo是什么
  • 国际论坛网站模板不用服务器做网站
  • 门户网站建设与开发正规网站优化推广
  • 商城网站公司淘宝网店怎么注册开店
  • 设计网站评分标准做参茸产品的网站
  • 企业网站建设用什么wordpress 微信订阅号
  • 一个备案号可以用几个网站新人写手适合哪个平台
  • 云图书馆平台网站建设方案网站建设平台策划
  • 做一网站要什么软件有哪些建设网站需要展示什么
  • 免费销售网站模板下载安装51网站空间相册在哪里