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

汽车案例网站学院网站建设需求分析调研表

汽车案例网站,学院网站建设需求分析调研表,提高网站响应速度,wordpress百度主动不推送了static_castnew_type (expression) 虽然const_cast是用来去除变量的const限定#xff0c;但是static_cast却不是用来去除变量的static引用。其实这是很容易理解的#xff0c;static决定的是一个变量的作用域和生命周期#xff0c;比如#xff1a;在一个文件中将变量…static_castnew_type (expression) 虽然const_cast是用来去除变量的const限定但是static_cast却不是用来去除变量的static引用。其实这是很容易理解的static决定的是一个变量的作用域和生命周期比如在一个文件中将变量定义为static则说明这个变量只能在本Package中使用在方法中定义一个static变量该变量在程序开始存在直到程序结束类中定义一个static成员该成员随类的第一个对象出现时出现并且可以被该类的所有对象所使用。 对static限定的改变必然会造成范围性的影响而const限定的只是变量或对象自身。但无论是哪一个限定它们都是在变量一出生完成编译的时候就决定了变量的特性所以实际上都是不容许改变的。这点在const_cast那部分就已经体现出来。 static_cast和reinterpret_cast一样在面对const的时候都无能为力两者都不能去除const限定。两者也存在很多的不同比如static_cast不仅可以用在指针和引用上还可以用在基础数据和对象上reinterpret_cast可以用在没有关系的类型之间而用static_cast来处理的转换就需要两者具有一定的关系了。 常用场合 1、编译器隐式执行的任何类型转换都可以由static_cast来完成比如int与float、double与char、enum与int之间的转换等。 double a 1.999; int b static_castint(a); //相当于b a ; 当编译器隐式执行类型转换时大多数的编译器都会给出一个警告 e:\vs 2010 projects\static_cast\static_cast\static_cast.cpp(11): warning C4244: “初始化”: 从“double”转换到“int”可能丢失数据 使用static_cast可以明确告诉编译器这种损失精度的转换是在知情的情况下进行的也可以让阅读程序的其它程序员明确你是有意识的转换而不是由于疏忽。 把精度大的类型转换为精度小的类型static使用位截断进行处理。 2、使用static_cast可以找回存放在void*指针中的值。 double a 1.999; void * vptr a; double * dptr static_castdouble*(vptr); cout*dptrendl;//输出1.999 3、static_cast也可以用在基类与派生类指针或引用类型之间的转换。然而它不做运行时的检查不如dynamic_cast安全。static_cast仅仅是依靠类型转换语句中提供的信息来进行转换而dynamic_cast则会遍历整个类继承体系进行类型检查因此dynamic_cast在执行效率上会比static_cast要差一些。 现在我们有父类与其派生类如下 class ANIMAL { public:ANIMAL():_type(ANIMAL){};virtual void OutPutname(){coutANIMAL;}; private:string _type ; }; class DOG:public ANIMAL { public:DOG():_name(大黄),_type(DOG){};void OutPutname(){cout_name;};void OutPuttype(){cout_type;}; private:string _name ;string _type ; }; 此时我们进行派生类与基类类型指针的转换注意从下向上子类到基类的转换是安全的从上向下基类到子类的转换不一定安全。 int main() {//基类指针转为派生类指针,且该基类指针指向基类对象。ANIMAL * ani1 new ANIMAL ;DOG * dog1 static_castDOG*(ani1);//dog1-OutPuttype();//错误在ANIMAL类型指针不能调用方法OutPutType在运行时出现错误。//基类指针转为派生类指针且该基类指针指向派生类对象ANIMAL * ani3 new DOG;DOG* dog3 static_castDOG*(ani3);dog3-OutPutname(); //正确//system(pause);}   从上边对static_cast分析可以看出static_cast跟传统转换方式几乎是一致的所以只要将static_cast和圆括号去掉再将尖括号改成圆括号就变成了传统的显式转换方式。   转自 http://www.cnblogs.com/ider/archive/2011/07/31/cpp_cast_operator_part4.html http://www.cnblogs.com/QG-whz/p/4509710.html
http://www.yutouwan.com/news/303891/

相关文章:

  • 青岛百度seo排名电商运营seo
  • 北京网站制作与网站设计怎么给网站带来流量
  • 怎样自己做网站卖钱青岛网站建设推广优化
  • 朝阳网站制作公司河南省建设厅网站103号文件
  • 电商网站开发的难点在哪里怎么卸载安装好的wordpress
  • 哪些域名不能够做淘宝客网站WordPress目录存放大小
  • 做查询网站有哪些建立网站英文翻译
  • 开设网站的费用石家庄网络营销哪家好做
  • 网站推广有什么方法有哪些邮箱注册网址
  • 广东seo网站优化公司手机 网站 翻页 外部
  • 如何关闭网站泰州住房和城乡建设网站
  • 兰州公司网站制作沈阳网站搭建
  • 公司网站维护好做吗优化推广网站怎么做
  • 福州网站排名提升做网站制作公司
  • 站点创建成功有影响吗烟台网站建设找三硕科技
  • 软件开发网站开发学习服务器租用多少钱
  • 网站建设更新上海做网站高端
  • seo网站平台方太产品站网站建设
  • 高淳区建设局网站网站开发人员的岗位有
  • 国外做机械设计任务的网站网站没有备案是假的吗
  • 网站开发中英文版如何写制作一个网站的成本
  • 广州网站开发工程师百度浏览器下载
  • 威海网站制作如何自己做网站推广淘宝客
  • 山东专业网站seo做图片站 把图片放到其它网站可以吗
  • 飞行时代网站建设长沙智优营家
  • 海南手机网站建设公司wordpress匿名评论
  • 网站怎么做seo北京vi设计企业
  • 站长网站大全wordpress小游戏主题
  • 云脑网络科技网站建设wordpress当前导航菜单
  • 成功的网站建设网站漏洞扫描服务