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

企业网站整理优化校园网站建设与管理

企业网站整理优化,校园网站建设与管理,网页界面设计中一般使用的分辨率是多少,集团管理软件Chapter 4 Expressions 4.11 类型转换 4.11.2 其他隐式类型转换 数组转换成指针#xff1a; 在大多数用到数组的表达式中#xff0c;数组自动转换成指向数组首元素的指针#xff1a; int ia[10]; int* ipa;♜ 当数组被用作decltype关键字的参数#xff0c;或者作为取地…Chapter 4 Expressions 4.11 类型转换 4.11.2 其他隐式类型转换 数组转换成指针 在大多数用到数组的表达式中数组自动转换成指向数组首元素的指针 int ia[10]; int* ipa;♜ 当数组被用作decltype关键字的参数或者作为取地址符、sizeof及typeid等运算符的运算对象时上述转换不会发生。 同样的如果用一个引用来初始化数组上述抓换也不会发生。 指针的转换 C还规定了几种其他的指针转换方式 包括常量数值0或者字面值nullptr能转换成任意指针类型 ♜ 指向任意非常量的指针能转换成void* ♜ 指向任意对象的指针能转换成const void*。 ♜ 转换成常量 允许将指向非常量类型的指针转换成指向相应的常量类型的指针对于引用也是这样。 也就是说如果T是一种类型我们就能将指向T的指针或引用分别转换成指向const T的指针或引用 int i; const int ji; //非常量转换成const int的引用 const int* pi; //非常量的地址转换成const的地址 int rj;*qp; //错误不允许const转换成非常量相反的转换并不存在因为它试图删除底层的const。 类类型定义的转换 类类型能定义由编译器自动执行的转换不过编译器每次只能执行一种类类型的转换。 如果同时提出多个转换请求这些请求将被拒绝。 4.11.3 显示转换 强制类型转换cast WARNING 虽然有时不得不使用强制类型转换但这张方法本质上是非常危险的。 命名的强制类型转换 一个命名的强制类型转换具有如下形式 cast-name(expression); 其中type是转换的目标类型而expression是要转换的值。如果type是引用类型吗则结果是左值。cast-name是static_cast、dynamic_cast、const_cast和reinterpret_cast中的一种。 cast-name指定了执行的是那种转换。 static_cast 任何具有明确定义的类型转换只要不包含底层const都可以使用static_cast。 int i1,j3; //进行强制类型转换以便执行浮点数除法 double slopestatic_castdouble(j)/i;注解对j使用static_cast强制转换为double后与i进行计算时i会进行隐式转换将类型提升为double。 当需要把一个较大的算数类型赋值给较小的类型时static_cast非常有用。 static_cast对于编译器无法自动执行的类型转换也非常有用。 例如我们可以使用static_cast找回存在于void*指针中的值 void *pd; //正确任何非常量对象的地址都能存入void* //正确将void*转换回初始的指针类型 double *dpstatic_castdouble*(p);const_cast const_cast只能改变运算对象的底层const const char* pc; char *pconst_castchar*(pc);对于将常量对象转换成非常量对象的行为我们一般称其为”去掉const性质cast away the const“。 一旦我们去掉了某个对象的const性质编译器就不再阻止我们对该对象进行写操作了。如果对象本身不是一个常量使用强制类型转换获得写权限是合法的行为。 然而如果对象是一个常量再使用cosnt_cast执行写操作就会产生未定义的后果。 只有const_cast能改变表达式的常量属性使用其他形式的命名强制类型转换改变表达式的常量属性都将引发编译器错误。 同样的也不能用const_cast改变表达式的类型 const char *cp; //错误static_cast不能转换掉const性质 char *qstatic_castchar*(cp); static_caststring(cp); //正确字符串字面量转换成string类型 const_caststring(cp); //错误const_cast只能改变常量属性const_cast常常用于有函数重载的上下文中。 reinterpret_cast WARNING reinterpret_cast本质上依赖于机器要想安全地使用reintepret_cast必须对涉及的类型和编译器实现转换的过程都非常了解。 建议避免强制类型转换 强制类型转换干扰了正常的类型检查因此我们强烈建议程序员避免使用强制类型转换。这个建议对于reinterpret尤其适用因为此类类型转换总是充满了风险在有重载函数的上下文中使用const_cast无可厚非但是在其他情况下使用const_cast也就意味着程序存在某种设计缺陷。其他强制类型转换比如static_cast和dynamic_cast都不应该频繁使用。每次书写了一条强制类型转换语句都应该反复斟酌能否以其他方式实现相同的目标。就算实在无法避免也应该尽量限制类型转换值的作用域并且记录相关类型的所有假定这样可以减少错误发生的机会。 旧式的强制类型转换 在早期版本的C语言中显式地进行强制类型转换包含两张形式 type (expr); //函数形式的强制类型转换 (type) expr; //C语言风格的强制类型转换
http://www.zqtcl.cn/news/47448/

相关文章:

  • 自己建一个影视网站要怎么做百度指数查询app
  • 国外门户网站有哪些wordpress表单提交 阿里云邮箱
  • 大连网站排名公司上海网站制作建设
  • 淘宝网站制作公司哪家好wordpress 解析漏洞
  • 南高齿网站是谁做的天津建设工程信息网 公示在显示
  • 公司网站建设 阜阳wordpress下载权限
  • 上海频道网站建设公司网站建设方向
  • 非主营电子商务企业网站有哪些厦门建设官网
  • 购物网站开发 英文文献c 可以做网站吗
  • 北海网站建设seo网站推广怎么收费
  • 网站建设方案报价费用明细价格辽宁seo推广
  • 不干净的网站做性长沙旅游攻略必去的十大景点
  • 常用的网站类型有哪些类型有哪些类型有哪些品牌营销品牌推广
  • 好看大方的企业网站源码.net肇庆市专注网站建设平台
  • 销售网站建设的会计分录南京华佑千家装饰工程有限公司
  • 国外财经网站是怎么做的营销型定制网站
  • 广州有什么好玩的地方景点推荐余姚seo智能优化
  • 合肥公司网站建设多少费用专业旅游网站建设
  • sem是指什么汕头seo网站建设
  • 网站推广合同大数据培训多少钱
  • 上海优化网站公司iis 子网站
  • 做一个交易平台网站的成本淘宝客网站容易做吗
  • 台州外贸网站建设广告设计公司服务不到位
  • 现在 做网站 最流行网站推广策划的流程
  • 长沙p2p网站建设网络优化大师下载
  • 做网站资料准备什么暴雪是不是快倒闭了
  • 南京建站公司网站怀化seo
  • wordpress 整站采集设计师应该知道的网站
  • 网站设计培训班创业国内外网站开发有哪些技术
  • 物流网站开发实训工商查询系统