找到
179
篇与
技术教程
相关的结果
-
PHP 8.5 来了!开发者必读升级指南! PHP 8.5 作为 PHP 语言的下一个重大版本更新,计划于 2025 年 11 月正式发布。本文将详细介绍 PHP 8.5 的预计发布日期、主要新特性、向后兼容性影响以及开发者在升级过程中需要注意的事项。 图片 PHP 8.5 的发布日期 根据 PHP 官方的发布周期政策,PHP 8.5 预计将于 2025 年 11 月正式发布。值得注意的是,PHP 团队有时会提前几天发布,如 PHP 8.4 就比原计划提前了两天发布。 PHP 8.5 发布后,将获得: 两年活跃支持(至 2027 年 12 月 31 日) 四年安全支持(至 2029 年 12 月 31 日) 核心新功能:curl_multi_get_handles PHP 8.5 中 Curl 扩展新增了一个重要函数curl_multi_get_handles,它可以从CurlMultiHandle对象返回一个包含所有CurlHandle对象的数组。 功能详解 $cm = curl_multi_init(); curl_multi_get_handles($cm); // 返回空数组 $ch1 = curl_init('https://example.com/foo'); $ch2 = curl_init('https://example.com/bar'); curl_multi_add_handle($cm, $ch1); curl_multi_add_handle($cm, $ch2); curl_multi_get_handles($cm); // 返回[$ch1, $ch2]这个函数完善了现有的 Curl 多句柄操作函数集,开发者不再需要自行维护CurlHandle对象列表或使用WeakMap来跟踪这些对象。 函数签名 /** * 获取给定CurlMultiHandle对象中的所有CurlHandle对象 * * @param CurlMultiHandle $multi_handle * @return array */ function curl_multi_get_handles(CurlMultiHandle $multi_handle): array {}向后兼容性 除非应用程序已经声明了自己的curl_multi_get_handles函数,否则这个新特性不会带来任何向后兼容性问题。 PHP 8.5 的其他预期改进 虽然目前关于 PHP 8.5 的完整功能列表尚未完全公布,但根据 PHP 近期的开发趋势和社区讨论,我们可以预期以下可能的改进方向: 性能优化:PHP 8.x 系列每个版本都带来了显著的性能提升,8.5 可能会继续这一趋势 类型系统增强:PHP 近年来不断加强类型系统,8.5 可能会引入更多类型相关特性 安全性改进:随着 PHP 对安全性的日益重视,8.5 可能会包含更多安全相关的更新 语言语法糖:简化常见模式的语法,如 PHP 8.0 引入的命名参数、8.1 的枚举等 升级建议 对于计划升级到 PHP 8.5 的开发者,建议: 测试环境先行:在开发或测试环境中先验证应用兼容性 关注弃用通知:检查当前版本中的弃用警告,这些通常会在下个主版本中移除 逐步升级:如果从较旧版本(如 PHP 7.x)升级,考虑先升级到 8.1 或 8.4 作为中间步骤 监控社区动态:关注 PHP 官方发布说明以获取 8.5 的完整变更列表 PHP 版本支持现状 值得注意的是,随着 PHP 8.5 的发布,一些旧版本将失去支持: PHP 8.0:已于 2023 年 11 月结束生命周期 PHP 7.4 及更早版本:已停止支持多年 许多主流服务和 SDK(如 AWS SDK)已开始放弃对这些旧版本的支持,因此升级到受支持的 PHP 版本变得越来越重要。 总结 PHP 8.5 作为 2025 年的主要版本更新,将继续推动 PHP 语言的现代化进程。虽然目前公布的新功能还不多,但curl_multi_get_handles的加入已经显示出 PHP 团队对开发者体验的关注。随着发布日期的临近,更多新特性将被公布,PHP 开发者社区应保持关注,为平稳升级做好准备。 PHP 语言虽然已经 25 岁了,但通过持续的创新和改进,它仍然是 Web 开发领域的重要力量,特别是在内容管理系统(如 WordPress)和企业应用中。PHP 8.5 的发布将进一步巩固其地位,为开发者提供更强大、更安全的工具。
-
一行代码搞定防抖节流:JavaScript新特性解析 防抖(Debounce)和节流(Throttle)是两种前端开发中常用的性能优化技术,尤其在处理高频触发事件如滚动、调整窗口大小、输入等场景中。传统实现这些功能需要编写复杂的函数,但随着 JavaScript 的发展,我们现在可以通过更简洁的方式实现这些功能。 图片 传统实现方式回顾 在深入新特性之前,让我们先回顾一下传统的防抖和节流实现方式: 传统防抖实现 function debounce(fn, delay) { let timer = null; returnfunction(...args) { if (timer) clearTimeout(timer); timer = setTimeout(() => { fn.apply(this, args); }, delay); }; } // 使用示例 const handleSearch = debounce(function(e) { console.log('搜索内容:', e.target.value); }, 300); searchInput.addEventListener('input', handleSearch);传统节流实现 function throttle(fn, delay) { let lastTime = 0; returnfunction(...args) { const now = Date.now(); if (now - lastTime >= delay) { fn.apply(this, args); lastTime = now; } }; } // 使用示例 const handleScroll = throttle(function() { console.log('页面滚动'); }, 200); window.addEventListener('scroll', handleScroll);JavaScript 新特性:函数装饰器 ECMAScript 的提案中引入了函数装饰器(Function Decorators),这是一种能够在不修改原始函数的情况下增强函数行为的语法。 注意:截至 2024 年 10 月,函数装饰器仍处于 TC39 提案阶段,可能需要通过 Babel 或 TypeScript 等工具进行转译才能使用。利用装饰器实现一行防抖 图片 现代化解决方案 使用 requestAnimationFrame 实现的节流 浏览器的requestAnimationFrameAPI 可以帮助我们实现一行代码的节流效果: 图片 利用 AbortController 实现简洁防抖 图片 使用 Web Streams API 实现防抖节流 随着 Web Streams API 的成熟,我们可以利用它实现更声明式的防抖和节流: 图片 第三方库的超简化方案 如果您使用诸如 Lodash、Underscore 等工具库,防抖节流变得极其简单: // Lodash import { debounce, throttle } from 'lodash'; // 一行防抖 element.addEventListener('input', _.debounce(handleInput, 300)); // 一行节流 window.addEventListener('scroll', _.throttle(handleScroll, 200));实际应用场景 搜索输入框:防抖可以避免用户每输入一个字符就发送请求 窗口调整:节流可以限制布局重新计算的频率 无限滚动:节流可以控制加载新内容的频率 游戏中的用户输入:确保按键响应不会过于频繁 拖拽元素:平滑拖拽效果而不造成性能问题 性能比较 实现方式优点缺点传统函数封装兼容性好,灵活性高代码冗长,需要手动管理装饰器语法简洁,声明式编程兼容性问题,需要转译requestAnimationFrame与浏览器渲染周期同步,性能好只适用于视觉相关操作AbortController清晰地管理取消机制相对新的 API,可能需要 polyfillWeb Streams声明式,功能强大API 复杂,兼容性有限第三方库简单,经过测试增加项目依赖和体积JavaScript 的发展让我们能够用越来越简洁的代码实现防抖和节流功能。根据项目需求和浏览器兼容性要求,可以选择最适合的实现方式。对于现代 web 应用,装饰器和最新的 Web API 提供了简洁优雅的解决方案;而对于需要广泛兼容的项目,传统实现或借助成熟的第三方库仍然是可靠的选择。 无论选择哪种方式,防抖和节流都是提升用户体验和应用性能的重要技术,值得每位前端开发者掌握。
-
8 个 CSS Reset 技巧,兼容性问题减少 85% CSS Reset 是构建稳定跨浏览器样式的基础,可以消除 HTML 元素在不同的浏览器中默认样式的差异。分享一些现代化的 CSS Reset 技巧,帮助你解决大部分浏览器兼容性问题,提高开发效率。 图片 1. 现代化盒模型重置 使用更智能的盒模型重置,确保元素尺寸计算的一致性。 *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; /* 防止边距塌陷 */ min-height: 0; min-width: 0; } html { /* 修复iOS点击高亮问题 */ -webkit-tap-highlight-color: transparent; /* 平滑滚动 */ scroll-behavior: smooth; } /* 防止超长内容破坏布局 */ img, picture, video, canvas, svg { display: block; max-width: 100%; }2. 排版基础重置 统一各浏览器的文本渲染表现。 body { line-height: 1.5; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; /* 改善CJK文本的显示 */ -webkit-text-size-adjust: 100%; } /* 统一标题样式 */ h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; } /* 重置链接样式 */ a { color: inherit; text-decoration: none; }3. 表单元素标准化 消除表单元素的浏览器默认样式差异。 图片 4. 列表样式重置 统一列表显示效果。 图片 5. 媒体元素优化 确保媒体元素在各浏览器中的一致表现。 图片 6. 滚动条行为统一 统一各浏览器的滚动条行为。 图片 7. 触摸操作优化 优化移动设备的触摸体验。 图片 8. 打印样式优化 确保网页在打印时的正确显示。 @media print { /* 打印时的颜色和背景处理 */ * { -webkit-print-color-adjust: exact; print-color-adjust: exact; color-adjust: exact; } /* 避免打印时断页问题 */ a { page-break-inside: avoid; } /* 确保打印时显示完整的URL */ a[href^="http"]::after { content: " (" attr(href) ")"; } }欢迎补充。
-
一个浏览器就能拥有一个完整操作系统 简介 互联网操作系统 Puter 是一个先进的开源桌面环境,它运行在浏览器中,并具备丰富的功能、异常快速以及高度可扩展性。 它是一个功能丰富、快速且可扩展的开源桌面环境,提供了多种应用场景和便利工具,满足用户在不同场景下的需求。 主要特征 远程桌面环境:允许用户从任何地方访问桌面环境进行工作、娱乐等操作 云存储服务:所有文件可保存在安全的地方并随时随地访问 Web 托管平台:支持构建和托管网站、Web 应用程序和游戏 替代传统云盘:提供清新界面和强大功能替代 Dropbox/Google Drive 等 应用场景 个人使用:作为个人云盘随时随地访问管理文件 企业应用:构建远程工作桌面提供便捷环境 开发者工具:用于构建和托管网站/应用/游戏 技术特点 隐私至上:用户数据和隐私充分保护 跨平台兼容:基于 Web 技术可在多平台运行 高度可扩展:支持根据需求定制系统 友好社区:提供学习 Web 开发/云计算等知识的开源社区 GitHub 地址:隐藏内容,请前往内页查看详情 官方网站:隐藏内容,请前往内页查看详情 官方文档:隐藏内容,请前往内页查看详情安装部署 Docker 部署流程: 安装 Docker sudo apt update sudo apt install -y docker.io docker-compose 拉取镜像 sudo docker pull ghcr.io/heyputer/puter 启动服务 sudo docker run --rm -p 4100:4100 \ -v `pwd`/puter/config:/etc/puter \ -v `pwd`/puter/data:/var/puter \ ghcr.io/heyputer/puter 访问地址:http://[IP]:4100 图片 图片 图片
-
PS教程超级合辑【1000集2017版】 - 带源码课件 课程描述 本合辑包含 1000 集 PS 教程,涵盖从入门到精通的全方位学习内容。课程包括 6 大商用专题(抠图、移除、换色、调色、锐化、磨皮)和 5 大应用领域(图像后期、平面设计、UI 设计、商业插画、3D 打印),适合初学者和进阶学习者。 6v6博客图片 课程亮点 全面系统:从基础到高级,1000 集教程覆盖 PS 所有核心功能。 商用专题:6 大商用专题,解决实际工作中的设计难题。 应用领域:5 大应用领域深入拓展,满足不同设计需求。 实战案例:海量初、中、高级不同难度的精美实战案例。 课程价格 原价:299 元 免费提供:本资源为免费分享,无需付费即可获取。 资源链接 👉 点击这里获取 PS 教程超级合辑资源 适合人群 PS 初学者 平面设计师、UI 设计师 对图像后期、商业插画、3D 打印感兴趣的学习者 学习建议 从基础教程开始,逐步掌握 PS 的核心功能。 针对自己的需求,重点学习 6 大商用专题和 5 大应用领域。 通过实战案例巩固所学知识,提升设计能力。 6v6 博客 更多优质资源,尽在 6v6 博客!
-
QQ 邮箱如何获取 SMTP 授权码 + SMTP 使用教程 SMTP(Simple Mail Transfer Protocol)是用于发送电子邮件的协议。QQ 邮箱提供了 SMTP 服务,允许用户通过第三方客户端或应用程序发送邮件。为了确保账户安全,QQ 邮箱要求使用 SMTP 授权码而非邮箱密码进行身份验证。本文将详细介绍如何获取 SMTP 授权码,并提供使用教程。 图片 一、获取 QQ 邮箱 SMTP 授权码 登录 QQ 邮箱 打开浏览器,访问 QQ 邮箱官网:https://mail.qq.com。 输入您的 QQ 邮箱账号和密码,完成登录。 进入邮箱设置 登录后,点击页面右上角的“设置”按钮(齿轮图标)。 在设置菜单中,选择“账户”选项。 开启 SMTP 服务 在“账户”页面中,向下滚动找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV 服务”部分。 找到“IMAP/SMTP 服务”选项,点击右侧的“开启”按钮。 获取授权码 开启 SMTP 服务后,系统会提示您通过手机验证身份。 按照页面提示,使用绑定的手机号发送指定短信内容到指定号码。 发送短信后,点击“我已发送”按钮,系统会生成一个 16 位的 SMTP 授权码。 请务必妥善保存此授权码,因为它只会显示一次。 图片 图片 图片 图片 二、SMTP 授权码的使用教程 获取 SMTP 授权码后,您可以将其用于配置第三方邮件客户端或应用程序(如 Outlook、Thunderbird、Foxmail 等)以发送邮件。以下是具体配置步骤: 1. 配置 Outlook 客户端 打开 Outlook,点击“文件” > “添加账户”。 输入您的 QQ 邮箱地址,选择“手动设置或其他服务器类型”,点击“下一步”。 选择“POP 或 IMAP”,点击“下一步”。 在服务器设置中,填写以下信息: 接收邮件服务器:imap.qq.com,端口:993,加密方式:SSL/TLS。 发送邮件服务器:smtp.qq.com,端口:465,加密方式:SSL/TLS。 在登录信息中,输入您的 QQ 邮箱地址和 SMTP 授权码。 点击“下一步”完成配置。 2. 配置 Thunderbird 客户端 打开 Thunderbird,点击“菜单” > “新建” > “现有邮件账户”。 输入您的 QQ 邮箱地址和 SMTP 授权码,点击“继续”。 Thunderbird 会自动检测服务器设置。如果没有自动检测成功,请手动填写以下信息: 接收邮件服务器:imap.qq.com,端口:993,加密方式:SSL/TLS。 发送邮件服务器:smtp.qq.com,端口:465,加密方式:SSL/TLS。 点击“完成”保存配置。 3. 配置 Foxmail 客户端 打开 Foxmail,点击“工具” > “账户管理”。 点击“新建”按钮,输入您的 QQ 邮箱地址和 SMTP 授权码。 选择“IMAP”或“POP3”作为接收服务器类型。 填写以下服务器信息: 接收邮件服务器:imap.qq.com,端口:993,加密方式:SSL/TLS。 发送邮件服务器:smtp.qq.com,端口:465,加密方式:SSL/TLS。 点击“确定”完成配置。 4. 配置其他应用程序 如果您需要在其他应用程序(如 WordPress、Python 脚本等)中使用 QQ 邮箱的 SMTP 服务,请确保填写以下信息: SMTP 服务器地址:smtp.qq.com 端口:465(SSL/TLS)或 587(STARTTLS) 用户名:您的 QQ 邮箱地址(如123456789@qq.com) 密码:SMTP 授权码 图片 三、注意事项 授权码的安全性 SMTP 授权码是您的邮箱账户的重要凭证,请勿泄露给他人。 如果怀疑授权码泄露,请立即在 QQ 邮箱设置中关闭 SMTP 服务并重新生成授权码。 授权码的有效性 SMTP 授权码长期有效,但如果您关闭了 SMTP 服务或重新生成授权码,旧的授权码将立即失效。 端口和加密方式 确保使用正确的端口和加密方式,否则可能导致无法发送邮件。 推荐使用端口465和SSL/TLS加密方式。 国际邮箱地址 如果您的 QQ 邮箱是国际邮箱(如xxx@foxmail.com),SMTP 服务器地址和配置步骤与普通 QQ 邮箱相同。 四、常见问题解答 为什么无法发送邮件? 检查 SMTP 服务器地址、端口和加密方式是否正确。 确保输入的 SMTP 授权码无误。 确认您的网络环境是否允许访问 QQ 邮箱的 SMTP 服务器。 如何重新生成 SMTP 授权码? 进入 QQ 邮箱的“账户”设置,关闭 SMTP 服务后重新开启,即可生成新的授权码。 SMTP 授权码和邮箱密码有什么区别? SMTP 授权码仅用于第三方客户端或应用程序的邮件发送功能,而邮箱密码用于登录 QQ 邮箱网页版或客户端。 通过以上步骤,您可以轻松获取 QQ 邮箱的 SMTP 授权码,并配置到各种邮件客户端或应用程序中。如果您在配置过程中遇到问题,可以参考 QQ 邮箱的官方帮助文档或联系客服支持。
-
少数人知道的 10 个神奇 CSS 选择器 在 Web 开发中,CSS 扮演着至关重要的角色,但很多开发者并没有真正发掘它的全部潜力! 大多数人熟悉 ID 选择器、类选择器或元素选择器,甚至伪元素的使用也很常见。然而,你知道 CSS 其实还有许多不为人知的强大选择器吗? 今天,就带你揭秘一些鲜有人知但却非常实用的 CSS 选择器,让你在样式控制上更上一层楼! 图片 1. 属性选择器 属性选择器可以根据 HTML 元素的属性来应用样式,而无需额外添加类或 ID。 基础属性选择器 a[href] { color: blue; }这个选择器会为所有包含 href 属性的 <a> 元素添加蓝色字体样式。 指定属性值的选择器 input[type="text"] { border: 1px solid #ccc; }此规则仅作用于 type="text" 的输入框。 匹配部分属性值的选择器 /* 以某个值开头(^=) */ a[href^="https"] { color: green; } /* 以某个值结尾($=) */ a[href$=".pdf"] { color: red; } /* 包含某个值(*=) */ a[href*="example"] { color: orange; }这些选择器可以分别选中以 https 开头的链接、以 .pdf 结尾的链接,以及包含 example 关键字的链接,并应用不同的样式。 2. :nth-child() 选择器 该伪类选择器可以基于元素在其父元素中的位置来应用样式: li:nth-child(odd) { background-color: #f9f9f9; }这将使奇数序号的 <li> 元素具有不同的背景颜色。 3. :not() 选择器 想要排除某些特定元素?:not() 选择器可以帮你实现: button:not(.primary) { background-color: grey; }以上代码会为所有 不 具有 .primary 类的 <button> 按钮应用灰色背景。 4. :focus 选择器 提升用户体验和可访问性的一种方式是给获取焦点的元素添加样式: input:focus { outline: 2px solid blue; }当输入框获得焦点时,会显示一个蓝色的外边框。 5. ::before 和 ::after 伪元素 这两个伪元素可以在某个元素的前后插入内容,无需修改 HTML 结构: h1::before { content: "§ "; color: grey; } p::after { content: " (阅读更多)"; color: blue; }上面的示例会在所有 <h1> 标题前添加灰色的 "§ " 符号,并在每个 <p> 段落后面附加 "(阅读更多)" 的蓝色文本。 6. ::first-line 选择器 想让段落的首行样式有所不同?可以这样做: p::first-line { font-weight: bold; color: red; }这会让段落的首行变成 加粗 且 红色。 7. ::first-letter 选择器 如果你想让段落的首字母更具视觉吸引力,可以使用 ::first-letter: p::first-letter { font-size: 2em; color: green; }这样,所有段落的第一个字母都会被放大,并且颜色变成绿色。 8. :empty 选择器 这个选择器可以选中 没有子元素(包括文本内容)的 HTML 元素: div:empty { border: 1px dashed red; }这样,所有空的 <div> 元素都会带有红色虚线边框。 9. :checked 选择器 专门用于选中 复选框(checkbox) 或 单选按钮(radio) 的样式控制: input[type="checkbox"]:checked + label { font-weight: bold; }当复选框被选中时,相关的 <label> 标签会变成加粗字体。 10. 组合选择器 CSS 选择器可以组合使用,以实现更精准的样式控制。例如: a[href^="https"]:not([href*="example"])::after { content: " (安全)"; color: green; }这个规则会为 以 https 开头且不包含 "example" 关键字 的链接,在其后面添加绿色的 "(安全)" 标识。 结语 希望这篇文章能帮助你更好地理解 CSS 选择器的强大之处。如果你有什么喜欢的 CSS 选择器,欢迎在评论区分享!
-
【尚硅谷】鸿蒙应用开发 - 带源码课件 课程描述 本教程精心设计了一款精致而小巧的实战应用,贯穿整个学习过程,真正做到理论与实践相结合。课程内容从基础到高级,层层递进,全面覆盖鸿蒙应用开发的所有必备技能。通过图解抽象知识、丰富的案例和清晰的讲解,帮助学习者快速掌握鸿蒙应用开发的核心技术。 课程亮点 实战驱动:以实际应用案例为主线,贯穿整个学习过程,让学习更贴近实际开发需求。 内容全面:从基础概念到高级技能,系统化讲解鸿蒙应用开发的方方面面。 图解教学:通过图解方式解析抽象概念,降低学习难度,提升理解效率。 源码提供:附带完整源码课件,方便学习者随时查阅和实践。 课程价格 原价:199 元 免费提供:本资源为免费分享,无需付费即可获取。 资源链接 👉 点击这里获取课程资源 适合人群 对鸿蒙应用开发感兴趣的初学者 希望提升鸿蒙开发技能的中高级开发者 需要系统化学习鸿蒙开发的技术爱好者 学习建议 按照课程顺序逐步学习,打好基础后再深入高级内容。 结合源码课件进行实践,边学边练,巩固知识。 遇到问题时,可以参考图解和案例,快速解决问题。 代码示例 // 示例代码:鸿蒙应用开发中的简单页面跳转 public void onStart(Intent intent) { super.onStart(intent); super.setUIContent(ResourceTable.Layout_ability_main); Button button = (Button) findComponentById(ResourceTable.Id_button); button.setClickedListener(component -> { present(new SecondAbilitySlice(), new Intent()); }); }
-
华为工程师带你实战C++:专业深度全面完整 本课程以实战为主,课上全部代码均为边讲边手敲,学完此套课程,可以达到一个 C++中高级开发者的水平。既适合于刚刚入门有一定的语言基础的人,也适合于有一定的开发经验的人。 864e1741579438.jpg图片 课程大纲 第 1 章:C++基础与提高 1-1 C++学习开山篇 1-2 C 到 C++类型安全增强 1-3 Cout 格式输出,函数重载初步 1-4 函数重载原理 1-5 C++运算符重载初步 1-6 C++函数默认参数 1-7 C++引用与提高 第 2 章:C++核心特性 2-1 Day1 回顾 2-2 Day1 回顾 2 2-3 C++中内存管理(NewDelete) 2-4 C++中内存管理 2(NewDelete) 2-5 C++内联函数(inline) 2-6 C++中强制类型转换 Cast 2-7 const 类型的补充 2-8 C++命名空间 2-9 C++命名空间 2 2-10 C++字符串类型 string 第 3 章:C++面向对象编程 3-1 Day2 回顾 3-2 Day2 作业解答 homework 3-3 C++封装特性一 3-4 C++封装特性二 3-5 C++封装特性三 3-6 C++类的构造器 Constructor 3-7 C++类的析构器 Destructor 3-8 构造析构练习(基于系统 string 类构造自己的 String 类) 第 4 章:C++高级特性 4-1 Day3 回顾 4-2 作业(C++链表封装) 4-3 自实现 String 类拷贝构造器 4-4 自实现 String 类赋值运算符重载 4-5 C++返回对象或引用的区别 4-6 String 类自我实现完结篇 4-7 用面向对象的思想实现闹钟 4-8 对象数组 4-9 类成员函数的存储 第 5 章:C++进阶 5-1 Day4 回顾 5-2 C++中 const 关键字修饰类 5-3 C++中 static 关键字修饰类 5-4 C++中 static 关键字修饰类 5-5 指向类成员(数据函数)的指针 5-6 指向类成员的指针练习 5-7 C++友元认识 5-8 实践友元 5-9 C++运算符重载初步 第 6 章:C++高级编程 6-1 Day5 回顾 6-2 单双目运算符重载 6-3 流输入输出运算符重载 6-4 运算符重载实践 6-5 类型转化 Cast 6-6 运算符重载提高篇 6-7 运算符重载提高篇 2 第 7 章:C++继承与多态 7-1 Day6 回顾 7-2 继承的意义,派生类构造 7-3 派生类的构造器 7-4 派生类的赋值重载 7-5 派生类的友元函数 7-6 派生类的析构器 7-7 C++继承一 7-8 C++继承二 7-9 C++多继承 第 8 章:C++多态与设计模式 8-1 Day7 回顾 8-2 C++多继承续 8-3 多态前提赋值兼容 8-4 多态与虚函数 8-5 多态与纯虚函数 8-6 基于多态的设计模式依赖倒置原则 8-7 基于多态的 cocos 游戏入口分析 8-8 基于多态的 cocos 游戏入口分析自实现 第 9 章:C++项目实战 9-1 Day8 回顾 9-2 基于多态的管理系统项目设计 1 9-3 基于多态的管理系统项目实现 2 9-4 多态实现原理深度剖析 9-5 基于多态的管理系统项目设计多态常见问题解答 9-6 运行时类型信息 RTTI(typeid)应用 9-7 运行时类型信息 RTTI(dynamic_cast)应用 9-8 C++模板 第 10 章:C++流与文件操作 10-1 Day9 回顾 10-2 C++流类综述 10-5 C++二进制文件读写 课程资料 Cplusplus 基础与提高.pdf:课程配套教材。 下载链接 百度网盘:隐藏内容,请前往内页查看详情 夸克网盘:隐藏内容,请前往内页查看详情 了解更多技术内容,请访问:6v6 博客