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

C++(11):static_pointer_cast/dynamic_pointer_cast

C++11引入了static_pointer_cast用于在编译期做向下转型(从基类向派生类转型),但是不做类型安全检查。同时引入了dynamic_pointer_cast,用于在运行期做类型安全检查的向下转型。

#include <iostream> #include <memory> struct FileBase { virtual ~FileBase() = default; virtual const char* kind() const { return "FileBase"; } }; struct TextFile : FileBase { const char* kind() const override { return "TextFile"; } void write_line() const { std::cout << "TextFile::write_line() called" << '\n'; } }; struct BinaryFile : FileBase { const char* kind() const override { return "BinaryFile"; } void dump_bytes() const { std::cout << "BinaryFile::dump_bytes() called" << '\n'; } }; void print_owner_count(const char* name, const std::shared_ptr<FileBase>& ptr) { std:
http://www.jsqmd.com/news/740327/

相关文章:

  • 微信聊天记录备份:从技术原理到实用解决方案的完整指南
  • 鸣潮自动化工具技术深度解析:基于图像识别的智能战斗与养成系统实现
  • 5G来了,高可用反而更难了?架构师不说的真相
  • 魔兽争霸3终极优化教程:5分钟解锁高分辨率与高帧率体验
  • 告别H2数据库:将Datart数据源迁移到MySQL 5.7的完整配置流程(附配置文件详解)
  • 用友YonBuilder低代码平台实战:30分钟从零搭建一个带增删改查的管理后台
  • Python 3.15多解释器协同配置全解析(PEP 684/703深度落地版)
  • 如何用8个步骤彻底告别网盘限速?LinkSwift直链下载助手完整指南
  • 国家自然科学基金申请书LaTeX工具:5分钟完成专业排版的终极指南
  • DPU加速微隔离技术解析与应用实践
  • WPS-Zotero终极指南:5分钟掌握跨平台文献管理神器
  • 终极指南:用NBTExplorer深度掌控Minecraft游戏数据
  • 科研绘图避坑指南:用Python Matplotlib搞定Elsevier/IEEE期刊图片尺寸与字体(附完整代码)
  • vue 数据格式问题
  • 润云智算新版本功能重磅上线|快照 + 定时关机 + ComfyUI 全流程 + SSH + 资源中心全方位升级
  • 2026届最火的降重复率平台推荐
  • 为什么选择LilToon:解决Unity卡通渲染的5大痛点
  • Taotoken 多模型路由如何保障 API 调用的高稳定性
  • WaveTools鸣潮工具箱:3步解锁120帧,全面优化游戏体验
  • 机器学习04-逻辑回归
  • AWR MWO软件实操:从滤波器版图到功放IV曲线,一份给HDU电磁场实验课新手的保姆级避坑指南
  • 深度拆解SillyTavern:如何构建高性能LLM前端系统的技术指南
  • 当AB实验行不通时,我是如何用DID(双重差分法)评估付费会员卡效果的
  • 通信,交互类问题
  • 免费试用 + 4.8 元/千字付费,2026 降 AI 软件排行第 1 全流程操作教程。 - 我要发一区
  • Android 14 适配踩坑记:手把手教你修复 registerReceiver 的 RECEIVER_EXPORTED 报错
  • 能把论文 AI 率降到 5% 以下的就这 4 款,2026 降 AI 软件排行硬实力榜。 - 我要发一区
  • 基于stm32ARM库函数的IIR二阶巴特沃斯带通滤波器--附完整代码
  • 从华为IPD实践看PDCP评审:我们当年踩过的那些‘坑’,以及如何用Confluence和Jira搭建评审工作流
  • 2025届学术党必备的六大降AI率平台实际效果