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

网站支持asp个人站长做网站需要多少钱

网站支持asp,个人站长做网站需要多少钱,制作企业网站首页效果图,做网站推广销售static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的#xff1b;down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换#xff…static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换如把int转换成char这种转换的安全性也要由开发人员来保证。可以把空指针转换成目标类型的空指针(null pointer)。把任何类型的表达式转换成void类型。注意 static_cast不能转换掉expression的const、volitale或者__unaligned属性。 基本类型转换 #include iostreamint main() {int b 20;float ft 30.25f;b static_castfloat(ft);std::cout After static_cast b: b std::endl;std::cout Finished! \n;return 0; } 类的基本转换 #include iostreamclass Base { public:Base(int data):_data(data){}void printData(){std::cout Base data: _data std::endl;}private:int _data; };class TestA : public Base { public:TestA(int num, int data): _num(num), Base(data){}void printData(){std::cout TestA Num: _num std::endl;}private:int _num; };int main() {Base base{ 10 };TestA testA{ 10,20 };// 向上转换Base* base_ptr static_castBase*(testA);base_ptr-printData();// 向下转换危险行为TestA* test_ptr static_castTestA*(base);test_ptr-printData();std::cout Finished! \n;return 0; }观察向上转换正常向下转换数据未定义。 dynamic_cast typeid必须是类的指针、类的引用或者void*。如果typeid是类的指针类型那么expression也必须是指针如果typeid是一个引用那么expression也必须是一个引用。一般情况下dynamic_cast用于具有多态性的类(即有虚函数的类)的类型转换。 dynamic_cast依赖于RTTI信息其次在转换时dynamic_cast会检查转换的source对象是否真的可以转换成target类型这种检查不是语法上的而是真实情况的检查。先看RTTI相关部分通常许多编译器都是通过vtable找到对象的RTTI信息的这也就意味着如果基类没有虚方法也就无法判断一个基类指针变量所指对象的真实类型这时候dynamic_cast只能用来做安全的转换,例如从派生类指针转换成基类指针。而这种转换其实并不需要dynamic_cast参与。也就是说,dynamic_cast是根据RTTI记载的信息来判断类型转换是否合法的。 主要用于类层次之间的up-casting和down-casting还可以用于类之间的交叉转换。在进行down-casting时dynamic_cast具有类型检查的功能比static_cast更安全。检测在运行时进行。如果被转换的指针不是一个被请求的有效完整的对象指针返回值为NULL。当用于多态类型时它允许任意的隐式类型转换以及相反过程。不过与static_cast不同在后一种情况里注即隐式转 换的相反过程dynamic_cast会检查操作是否有效。也就是说它会检查转换是否会返回一个被请求的有效的完整对象。 注意dynamic_cast不能转换掉expression的const、volitale或者__unaligned属性。 测试加入现在的基类没有定义虚函数 class Base { public:Base(int data):_data(data){}void printData(){std::cout Base data: _data std::endl;}private:int _data; };class TestA : public Base { public:TestA(int num, int data): _num(num), Base(data){}void printData(){std::cout TestA Num: _num std::endl;}private:int _num; };int main() {Base* base_ptr new Base(10);TestA* test_ptr new TestA(10,20);Base* ptr_01 dynamic_castBase*(test_ptr);ptr_01-printData(); // ok#if 0TestA* ptr_02 dynamic_castTestA*(base_ptr); // errorptr_02-printData(); #endifstd::cout Finished! \n;return 0; } 重新定义并测试 class VirtualBase { private:int _data;public:VirtualBase(int data): _data(data){}virtual ~VirtualBase(){}virtual void printData(){std::cout Virtual Base. Data: _data std::endl;} };class TestB : public VirtualBase { private:int _num;public:TestB(int num, int data): _num(num), VirtualBase(data){}~TestB(){}void printData() override{std::cout TestB. Data: _num std::endl;} };int main() {// 定义VirtualBase* virual_base_ptr new VirtualBase(30);TestB* test_b_ptr new TestB(40, 50);// 派生类指向父类okVirtualBase* ptr_03 dynamic_castVirtualBase*(test_b_ptr);ptr_03-printData(); // ok// 父类指向指向派生类errorTestB* ptr_04 dynamic_castTestB*(virual_base_ptr);// ptr_04-printData(); // error// 转换失败返回了nullptr所以一般需要额外判断if (ptr_04 ! nullptr)ptr_04-printData();std::cout Finished! \n;return 0; } reinterpret_cast 转换一个指针为其他类型的指针也允许将一个指针转换为整数类型反之亦然。这个操作符能够在非相关的类型之间进行转换。操作结果只是简单的从一个指针到别的指针的值的二进制拷贝在类型之间指向的内容不做任何类型的检查和转换。这是一个强制转换。使用时有很大的风险慎用之。反正少用就完事儿了 const_cast 这个类型操纵传递对象的const属性或者是设置或者是移除也不常用 参考资料 C | 四种类型转换_c四种类型转换-CSDN博客 https://www.cnblogs.com/daihanlong/p/5550530.html
http://www.zqtcl.cn/news/51293/

相关文章:

  • 列举电子商务网站建设需要的语言网站建设与管理课件
  • 如何破解网站后台密码有哪些网站可以做推广包包
  • 许昌做网站汉狮网络程序员 做网站 微信公众号 赚钱
  • 丽江古城区建设局网站达内网络营销
  • 做网站多少钱西宁君博示范打开官方网站
  • wordpress头像怎么修改优化营商环境条例解读
  • 只做网站应该找谁开发公司质量管理制度模板
  • 廊坊seo优化排名一键优化是什么意思
  • 网站建设类工作描述阿里云备案域名
  • SEO做得最好的网站如何做网站定位
  • 苏州高端网站设计制作买了个区域名怎么做网站
  • 天津市建设厅官方网站有没有哪些可以看片的
  • 上海网站建设市场产品推广网站排名
  • 百度是不是门户网站宝应网站
  • 网站图标怎么上传安徽建设工程信息网安全三类人员考试成绩查询
  • iis7建立网站墨子学院网站建设vip课程
  • 制作网站开发多少钱做网站公司 陕西渭南
  • 怀化网站定制互联网挣钱新方法
  • 付网站开发费计入什么科目中国建设银行官网首页 网站首页
  • 做视频网站适合用什么服务器漯河搜狗关键词优化排名软件
  • 沈阳平台网站建设折纸效果网站
  • 海南网络公司网站建设国外申请域名的网站
  • 工业制品网站建设建设工程交流网站
  • 本机号码一键登录碉堡了seo博客
  • 张家港优化网站seo南阳seo网站价格
  • 网站编辑的岗位职责用来制作网页的软件是
  • 个人备案网站可以做淘宝客吗国外购物网站推荐
  • 凤凰网站ui专业设计微信电商小程序
  • 一家企业如何做网站推广莆田制作网站企业
  • php网站开发工资多少wordpress 主题 百科