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

如何用ae做模板下载网站wordpress搭建知识库

如何用ae做模板下载网站,wordpress搭建知识库,wordpress+边框大小,个人网站主页html5. C中,转型(cast)技术是将一种数据类型转换为另一种数据类型的过程。C主要提供了两种主要的转型方式:旧式的C转型方式和四种新式的C转型方式。 1、旧式C转型方式 特点:语法简介,可执行数值类和指针类型转换…

.
C++中,转型(cast)技术是将一种数据类型转换为另一种数据类型的过程。C++主要提供了两种主要的转型方式:旧式的C转型方式和四种新式的C++转型方式。
1、旧式C转型方式

  • 特点:语法简介,可执行数值类和指针类型转换,但是缺乏类型安全检查,并且代码可读性较差
语法:
(type) expression;例子:
int a = 10;
double b = (double)a;

2、C++新式转型方式
2.1、const_cast(expression);

  • 主要用于添加或移除const或volatile修饰符,不能用于类型转换
const int a = 10;
int* b = const_cast<int*>(&a);  // 移除const修饰符

2.2、dynamic_cast(expression);

  • 主要用于继承体系中进行安全的向下转型,即从基类指针或引用转换为派生类指针或引用
  • 内部采用运行时类型信息(RTTI)实现,性能开销较大。
  • 在转换时进行类型安全检查,如果转换失败返回nullptr或抛出异常
class Base { virtual void foo() {} };
class Derived : public Base {};Base* b = new Derived;
Derived* d = dynamic_cast<Derived*>(b);  // 安全的向下转型

2.3、reinterpret_cast(expression);

  • 用于低级别的类型转换,通常用于指针类型之间的转换或整数与指针之间的转换
int a = 10;
int* p = &a;
char* c = reinterpret_cast<char*>(p);  // 将int指针转换为char指针

2.4、static_cast(expression);

  • 用于常见的类型转换对于向下转型,不进行运行时检查
double a = 10.5;
int b = static_cast<int>(a);  // 浮点数转整数Base* base = new Derived;
Derived* derived = static_cast<Derived*>(base);  // 向下转型

3、运行时类型信息(RTTI)

  • RTTI是C++提供的一种机制,允许程序在运行时获取对象的类型信息。
  • RTTI依赖于编译器为多态类型(虚函数表)生成额外的类型信息,在虚表中存储了一个type_info对象的指针,用于描述类型信息的类。
  • 当使用dynamic_cast进行类型转换时,编译器会生成代码,通过对象的虚表指针查找type_info对象,检查目标类型与对象的实际类型是否兼容(是否是基类或派生类)
class Base {
public:virtual void foo() {}  // 必须是多态类型(包含虚函数)
};class Derived : public Base {};Base* base = new Derived;// 使用 dynamic_cast 进行向下转型
Derived* derived = dynamic_cast<Derived*>(base);
if (derived) {std::cout << "转型成功!" << std::endl;
} else {std::cout << "转型失败!" << std::endl;
}

思维导图笔记:
请添加图片描述

http://www.dtcms.com/a/577183.html

相关文章:

  • 网站开发需求清单南昌seo搜索排名
  • N32H高性能32位MCU在具身机器人上的应用
  • 网站广告收费标准电子工程网络通信的专业课
  • 实时将大模型的解决方案转换为随机应变的机器人指令
  • 在 Vue 3 + Vite 项目中使用 Less 实现自适应布局:VW 和 VH 的应用
  • codeforces1914 C~F
  • 海外住宅ip怎么区分干净程度以及怎么选择海外住宅ip
  • 酒店团购的网站建设承德网媒
  • 在网站中动态效果怎么做网站的备案要求
  • 昭和仙君(五十八)标签票据模板服务器端技术——东方仙盟筑基期
  • Dart语言空安全概念与原理详解
  • MongoDB 查询分析
  • 如何在OnePlus手机上删除短信
  • MQTT的QoS2中四次握手与TCP的三次握手、四次挥手的异同
  • 10个css更新
  • Git 实现github仓库管理-删除指定目录下的所有文件并保留目录结构
  • INT305 Machine Learning 机器学习 Pt.6 卷积神经网络(Convolutional Neural Network)
  • 方案分享:一款基于低功耗单片机的腰腹甩脂机方案
  • 鸿蒙开发TypeScript第三课:数组
  • React 15
  • 浏览器开发者工具(尤其是 Vue Devtools 扩展)和 Vuex 的的订阅模式冲突
  • 网站建设核电程序员找工作的网站
  • 特殊三列布局需求
  • js(DOM)基础:11、DOM定义、事件、文档的加载、DOM查询1、DOM实现轮播图、DOM查询2、DOM实现全选
  • 想做个电影网站该怎么做阳春ycqq人才招聘信息
  • JavaScript的Web APIs 入门到实战(day4):DOM 进阶与日期对象(附巩固练习和案例讲解)
  • AtCoder Educational DP Contest 刷题记录Ⅰ
  • WPF CalcBinding简化判断逻辑
  • HarmonyOS NFC应用开发:构建分布式近场通信解决方案
  • Robinhood的再进化:从零佣金交易到链上金融超级应用