追求卓越

要卓越不要优越,要严谨不要拘谨

  • 博客(91)
  • 资源 (3)
  • 收藏
  • 关注

原创 在 Mac 上完美配置 VSCode 的 C/C++ 开发环境(GCC/G++ 详细教程 )

作为程序员,一个顺手的开发环境至关重要。VSCode 作为轻量级但功能强大的代码编辑器,配合 GCC/G++ 编译器,能够在 Mac 上提供优秀的 C/C++ 开发体验。本文将详细介绍从零开始的完整配置过程。通过本文的详细步骤,你应该已经成功在 Mac 上配置好了 VSCode 的 C/C++ 开发环境。这个配置不仅支持基本的编译调试,还能够应对复杂的多文件项目开发。配置成功的标志✅ 代码智能提示正常工作✅ 编译无错误(Cmd+Shift+B)✅ 调试功能正常(F5)✅ 多文件项目支持。

2025-12-01 11:09:28 740

原创 【大连理工大学城院】UIT2025第二次考核万年历题目思路

可以使用Zeller公式来计算某年某月某日是星期几。这里我们先计算1月1日的星期。闰年的规则是:能被4整除但不能被100整除,或者能被400整除。需要考虑每个月的天数,以及闰年2月的天数。将上述函数整合到一个C++ 文件中,例如。根据用户选择,打印单列或双列的月历。

2025-11-27 02:59:06 496

原创 数据结构——B树及其核心操作解析

摘要: B树是一种专为外存设计的平衡多路查找树,通过单个节点存储多个关键字显著降低树高,减少磁盘访问次数。其核心特性包括节点子树/关键字数量限制、叶子节点同层特性及节点内数据有序性。查找操作通过节点内查找与节点间多路分支实现高效检索。插入操作需处理节点溢出,通过分裂保持平衡;删除操作则需借关键字或合并节点防止下溢。相比二叉树,B树在存储海量数据时能维持3-4层低树高,使百万级数据查询仅需3-4次磁盘访问,广泛应用于数据库索引和文件系统。其通过平衡查找效率、存储成本与维护代价,成为外存环境下大规模数据处理的理

2025-10-24 12:29:23 1020

原创 A*算法原理深度解析

A算法以“启发式评估”为核心,通过g(n)与h(n)的协同实现了效率与最优性的平衡。掌握A算法的关键在于:理解f(n)的代价评估逻辑、选择适配场景的启发式函数、优化数据结构与节点管理。对于开发者而言,从本文的可视化工具入手,逐步尝试优化策略与场景适配,是掌握A算法的最佳路径。未来,结合AI大模型的环境预测能力,A算法有望在动态复杂场景中实现更智能的路径规划。

2025-09-25 02:38:27 2261

原创 如何利用JavaScript实现时间戳功能?5种方法详解

时间戳处理是前端开发的基础技能,掌握正确的方法和避坑技巧能显著提升开发效率。获取时间戳首选方案现代项目:优先使用Date.now(),语法简洁且性能优;老旧浏览器兼容:使用,覆盖所有IE版本。格式转换原则本地化显示:使用,适配用户区域设置;统一格式需求:手动拼接等方法的返回值,避免浏览器差异;必做校验:转换前通过判断时间有效性。跨端交互关键明确位数:JS用13位毫秒级,PHP用10位秒级,转换时务必乘除1000;格式统一:后端返回日期字符串时,优先使用格式。性能与兼容性平衡。

2025-09-25 02:33:57 1938

原创 前端工程化之模块化开发全解析

规范统一:新项目优先采用 ES Modules,避免 CommonJS 与 ESM 混用;模块拆分原则:遵循“单一职责”——每个模块只做一件事(如工具模块不包含接口请求,组件模块不包含业务逻辑);避免循环依赖:A 依赖 B、B 依赖 A 会导致模块加载异常,可通过“提取公共模块”或“调整依赖顺序”解决;充分利用树摇使用 ESM 的静态导出语法(避免导出对象,优先具名导出);构建时启用生产模式(Vite/Webpack 自动开启树摇);依赖管理:第三方库优先选择支持 ESM 的版本(如。

2025-09-25 02:31:52 960

原创 JavaScript与CSS的协同实现网页打印功能

基础层:用触发打印,结合afterprint事件处理前后逻辑;样式层:通过隔离打印样式,重点隐藏无关元素、优化媒体与表格显示;分页层:使用控制基础分页,复杂场景引入 Paged.js 实现专业排版;兼容层:针对主流浏览器差异做适配,利用测试工具(BrowserStack)验证多环境效果;体验层:提供自定义预览、加载反馈、操作引导,减少用户操作成本。通过这套技术方案,可满足从简单订单打印到复杂书籍排版的全场景需求,让网页打印从“能用”升级为“好用”,为用户提供接近专业文档的打印体验。

2025-09-25 02:28:47 1148

原创 从命令实战到底层原理与最佳实践深入理解Redis Hash类型

控制Hash大小:尽量让Hash符合ziplist编码条件(字段≤512、值≤64字节),减少内存占用;若字段超512,建议拆分多个Hash(如存储基础属性,存储扩展属性)。避免大Key查询:禁止对超大Hash(如10万+字段)使用HGETALL,改用分页查询,防止阻塞Redis。合理设置过期时间:Hash本身支持EXPIRE设置过期时间,但需注意:过期时间针对整个Hash键,而非单个字段;若需字段级过期,需额外维护过期字段列表。

2025-09-23 21:46:10 1187

原创 PyTorch模型文件:.pt与.pth的前世今生

特征.pth.pt核心功能与.pt完全一致,均为pickle序列化文件与.pth完全一致,均为pickle序列化文件历史地位早期传统扩展名当前官方推荐扩展名识别性易与Python路径配置文件混淆直观标识PyTorch文件,无混淆风险适用场景维护旧项目、兼容legacy代码新项目开发、官方文档、主流开源项目.pt与.pth的区别本质上是PyTorch生态发展中的"历史遗留问题"与"规范统一过程"的体现。

2025-09-18 14:48:23 1350

原创 【长安大学】叠加等边三角形绘制问题(第一周Python实验题5)

这段代码通过turtle模块的基本绘图功能,先绘制一个蓝色大等边三角形,然后计算其三条边的中点,最后连接这些中点绘制一个红色小等边三角形,形成了叠加的三角形效果。代码结构清晰,注释明确,展示了turtle库的基本使用方法,包括画笔控制、移动、颜色设置等操作。

2025-09-17 21:54:05 1334

原创 【大学生必看】带你吃透C++异常机制

C++异常机制为错误处理提供了强大的灵活性,但也带来了复杂性。优先使用自定义异常类体系:基于基类派生各模块异常,通过捕获基类引用简化处理逻辑。避免抛出原始类型异常:相比throw int或,自定义类能携带更丰富的错误信息。用catch(...)兜底:在顶层函数(如main())中添加catch(...),避免程序因未捕获异常直接终止。坚持RAII原则:使用智能指针、锁守卫等RAII类型管理资源,杜绝异常导致的资源泄漏。避免在析构函数中抛出异常:析构函数抛出异常可能导致。

2025-09-17 21:24:44 713

原创 深度解析 C++ Stack 容器适配器的原理及应用

stack的灵活性体现在支持自定义底层容器。只要满足“尾部操作接口”的容器,都可以作为stack的底层实现。下面通过两个案例展示其适配能力。stack作为 C++ STL 中经典的容器适配器,其设计精髓在于“封装与复用封装底层容器的复杂操作,对外提供纯粹的“后进先出”接口;复用现有容器的高效实现,同时支持自定义底层容器,兼顾易用性与灵活性。掌握stack它不是“容器”,而是“容器适配器”,依赖底层容器实现存储;所有操作的高效性(O(1) 时间复杂度)源于底层容器的尾部操作特性;

2025-09-17 21:20:53 1069

原创 【新手必看】一文深度剖析 Linux 系统文件 I/O

标志位:通过位运算实现多选项的高效传递与解析。open函数:文件操作的入口,返回文件描述符作为后续操作的索引。文件描述符:进程打开文件表的数组下标,遵循“最小未使用”分配规则。重定向:通过修改文件描述符对应的文件指针实现,dup2系统调用简化了这一过程。

2025-09-16 14:00:58 992

原创 一文吃透常见HTTP状态码:从原理到排错的全方位指南

HTTP状态码是Web开发的“排错指南针”,但它只是问题的“表象”——真正的解决核心在于理解其背后的协议逻辑与系统交互原理。2xx的成功需要前后端参数对齐,4xx的错误需要前端严谨校验,5xx的故障需要后端性能优化与运维保障。希望本文能帮助你真正“吃透”状态码,在后续开发中从“看到报错慌神”变为“见码知因”,高效解决问题。如果有特定场景的状态码问题(如跨域中的405、限流中的429),欢迎在评论区交流讨论!

2025-09-16 13:43:07 1137

原创 【Debian 运维实战】如何在Debian部署Redis服务?一文带你速通

Redis 作为高性能的键值对数据库,在缓存、会话存储、消息队列等场景中应用广泛。在 Debian 系统中部署 Redis 看似简单,但选择合适的安装方式、做好基础配置与性能优化,直接影响服务的稳定性与可用性。本文将详细拆解 APT 安装、源码编译、Snap 安装三种主流方案,搭配配置优化、问题排查实战,帮你快速实现 Redis 服务的标准化部署。生产环境:优先 APT 安装,兼顾稳定性与易维护性;若需最新版本,源码编译是可靠选择。测试场景:Snap 安装可快速上手,避免环境干扰。

2025-09-16 12:24:26 728

原创 【C/C++ 深度进阶】内存管理全景解析:从区域划分到底层实现的核心逻辑

内存管理是 C/C++ 开发的"内功心法",更是字节、腾讯等大厂面试的"必考题"。从基础的使用到new/delete的底层原理,从内存区域划分到内存泄漏排查,每一个知识点都直接关系到程序的性能与稳定性。很多开发者仅停留在"会用"的层面,对"为什么这么用""底层如何实现"缺乏系统认知,导致实际开发中频繁踩坑。本文将从内存分布、C语言实现、C++升级、底层原理四个维度,结合实例与源码,帮你彻底攻克内存管理难题。

2025-09-16 02:16:42 594

原创 【数据库】一文速读数据库四大范式深度解析

核心定义:数据表中每一列必须是不可分割的最小数据单元(原子性),且每一行必须具有唯一性(通常通过主键保证)。1NF是数据库设计的基础门槛,它要求我们打破“复合字段”的习惯,确保数据粒度的最小化。1NF奠定基础,确保数据粒度清晰;2NF与3NF解决核心依赖问题,是实战中的核心工具;4NF完善理论闭环,应对复杂关系场景。最终,优秀的数据库设计不是“追求最高范式”,而是“在规范化与业务需求之间找到最优解”——用3NF构建核心骨架,用适度反规范化优化性能,让数据既“整洁有序”又“高效可用”。

2025-09-16 00:24:14 930

原创 【嵌入式】直流无刷电机FOC控制算法全解析

转速范围:0~3500rpm(超额定转速16.7%);转矩脉动:<1.5%(六步换相为8.2%);动态响应:转速阶跃响应时间<50ms;效率:满载时效率92.3%(六步换相为85.1%)。FOC控制算法是嵌入式电机控制领域的"核心技术",其本质是通过数学变换实现复杂系统的解耦控制。本文从原理推导到代码实现,结合多种可视化工具拆解了FOC的核心逻辑,希望能为嵌入式开发者提供清晰的学习路径。

2025-09-16 00:18:24 1328

原创 【数据结构】归并排序深度解析:分治思想的代码与原理实践

归并排序以分治思想为核心,通过"拆分-合并"的流程实现了稳定的O(n log n)优点:稳定性强,时间复杂度不受数据分布影响,适合大规模数据排序;缺点:需要O(n)的额外空间,空间开销较大;应用场景:外部排序(数据量超过内存时,可分块排序后合并)、对稳定性要求高的场景(如多关键字排序)。掌握归并排序不仅能解决实际排序问题,更能帮助理解分治思想在算法设计中的核心价值——将复杂问题拆解为可解决的子问题,再通过组合子问题的解得到最终答案。

2025-09-16 00:09:49 1218

原创 【C语言进阶】联合体与枚举深度剖析:内存优化与代码工程化的利器

联合体的声明方式与结构体类似,但成员存储逻辑截然不同。// 联合体类型声明union 联合体名 {成员类型1 成员名1;成员类型2 成员名2;// 更多成员...// 联合体变量定义与初始化union 联合体名 变量名 = { 初始值 };// 仅能初始化第一个成员示例// 声明联合体类型Ununion Un {char c;// 1字节int i;// 4字节// 初始化第一个成员c为0printf("联合体大小: %d\n", sizeof(un));

2025-09-15 21:51:12 993

原创 【Vue实战】Element Plus Table 万能封装:从重复编码到高效复用

不同业务场景的表格列展示差异巨大:有的列需要展示图片,有的需要显示状态标签,有的则要放操作按钮。具名插槽能为特定列预留扩展入口,父组件可按需填充内容。例如为"Logo"列预留logo插槽,为操作列预留action插槽,父组件只需通过<template #插槽名>即可自定义内容。defineProps , emit , useSlots } from 'vue' // 定义表格列配置类型 interface PropItem {label : string // 列标题 prop?

2025-09-15 21:42:50 1108

原创 【硬件科普】一文读懂CPU架构:ARM、x86_64、RISC-V的核心差异

CPU指令集架构(Instruction Set Architecture,简称ISA)是连接硬件与软件的桥梁,它规定了CPU能识别的指令格式、操作方式以及与内存的交互规则。简单来说,ISA就是CPU的“沟通手册”,操作系统和应用软件必须按照手册规范编写代码,才能被CPU正确执行。x86:凭借成熟生态在桌面与服务器端仍将长期占据主导,但面临ARM的渗透挑战ARM:以低功耗优势从移动端向桌面、服务器端扩张,苹果M系列芯片已证明其高端潜力RISC-V。

2025-09-15 21:29:40 2283

原创 【Linux进阶】Makefile从入门到实践:自动化构建的核心密码

简化操作:用make替代冗长的编译命令增量构建:仅更新修改过的文件,提升效率规则清晰:统一管理构建逻辑,便于团队协作变量:用CC = gcc等变量简化命令自动变量:用$@(目标)、$^(所有依赖)等自动变量避免重复书写模式规则:用%.o: %.c统一处理所有.c文件的编译规则条件判断:根据不同编译环境执行不同规则。

2025-09-15 21:24:42 856

原创 【Linux】深入理解线程同步与互斥

互斥:通过互斥锁(Mutex)保证临界区的原子访问,避免数据竞争;关键是“锁的正确使用”:成对加解锁、用RAII封装避免遗漏解锁;根据临界区执行时间选择互斥锁或自旋锁。同步:通过条件变量(Condition Variable)协调线程执行顺序,满足逻辑依赖;关键是“处理虚假唤醒”:用while循环判断条件,而非if;经典应用是生产者-消费者模型,需理解“321原则”。死锁避免:破坏死锁的4个条件之一即可,常用策略包括固定锁顺序、一次性获取资源、添加超时时间。

2025-09-15 15:21:46 1028

原创 Asio C++零基础入门(十五):Asio C++的实际项目应用与性能优化

public:// 创建工作线程});// 创建多个连接++i) {// 等待所有测试完成// 停止io_context// 输出测试结果private:if (!ec) {if (!ec) {// 连接建立后发送请求} else {});} else {});return;// 准备请求数据// 记录请求发送时间// 发送请求if (!ec) {// 读取响应} else {});

2025-09-15 15:17:41 874

原创 Asio C++零基础入门(十四):Asio C++的网络协议实现

网络协议是网络通信的基础,Asio提供了构建各种网络协议的底层框架。本教程将详细介绍如何使用Asio实现常见的网络协议,包括HTTP、WebSocket、自定义TCP协议和UDP协议。HTTP是现代Web应用程序的基础协议。下面我们将学习如何使用Asio实现HTTP服务器和客户端。以下是一个简单的HTTP服务器实现,它能够处理基本的GET请求:三、自定义TCP协议实现除了标准协议外,Asio还非常适合实现自定义网络协议。下面我们将学习如何设计和实现一个简单的自定义TCP协议。设计一个名为"SimpleM

2025-09-15 12:02:26 784

原创 Asio C++零基础入门(十三):Asio C++的安全性和加密通信

在当今的网络环境中,安全性是任何网络应用程序的关键考虑因素。Asio C++库提供了强大的安全通信功能,特别是通过与OpenSSL库的集成,可以轻松实现SSL/TLS加密通信。本章将详细介绍如何在Asio应用程序中实现安全的网络通信,包括SSL/TLS连接的建立、证书管理、安全最佳实践以及常见的安全问题和解决方案。SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于在计算机网络上提供安全通信的加密协议。TLS是SSL的后继者,目前广泛使用的是T

2025-09-15 11:59:12 992

原创 Asio C++零基础入门(十二):Asio C++的调试和测试技巧

调试和测试Asio C++应用程序需要特定的技巧和方法,因为其异步特性带来了独特的挑战。使用适当的调试工具:GDB/LLDB调试器、IDE调试器、日志记录和内存检查工具可以帮助您定位和解决问题。理解Asio特有的调试挑战:异步操作的追踪、回调函数的调试、多线程调试和定时器问题都需要特定的技巧。实施全面的测试策略:单元测试、集成测试和性能测试都是保证Asio应用程序质量的重要手段。使用模拟对象和测试替身可以使测试更加可控和可靠。遵循最佳实践。

2025-09-15 11:56:13 952

原创 Asio C++零基础入门(十一):Asio C++与其他库和框架的集成

本文详细介绍了Asio C++库与各种其他库和框架的集成方法。从Boost库到STL,从现代C++特性到第三方库,再到容器和云服务,Asio展现了其强大的集成能力和灵活性。通过这些集成示例,我们可以看到Asio不仅是一个强大的异步I/O库,还是一个可以作为现代C++应用程序基础的核心组件。无论是构建高性能网络应用、实时通信系统还是分布式服务,Asio都能够与其他工具和框架良好协作,帮助开发者构建出更加复杂和功能丰富的应用程序。

2025-09-15 11:53:18 823

原创 【VMware实战】解决Workstation安装VMware Tools时“无法解析更新服务器”问题

下载对应系统的ISO文件:从Broadcom官方仓库()选择匹配的ISO;挂载到虚拟机光驱:在虚拟机设置中加载ISO,确保“已连接”;在虚拟机中执行安装:Linux通过脚本安装,Windows通过setup.exe安装,默认选项即可满足需求。通过这种方案,不仅能解决本次“服务器解析失败”问题,还能应对网络受限、代理干扰等场景,在任何环境下都能顺利安装VMware Tools,充分发挥虚拟机的便捷性。

2025-09-15 11:49:04 3994

原创 【Redis】哈基米教会你深度解析List数据结构:基于命令实战角度出发

Redis List作为“双端有序列表”,其核心价值在于灵活的操作模式(栈/队列/阻塞)和高效的首尾操作轻量级消息队列(如订单通知、日志收集);时序数据存储(如用户动态、操作记录);实时通知系统(如聊天消息、系统提醒)。不适合“随机访问中间元素”的场景(时间复杂度O(N));不适合“高可靠性消息队列”场景(若需消息重试、死信队列,建议用RabbitMQ/Kafka);不适合“去重”场景(需去重则选择Set结构)。

2025-09-15 10:50:45 1485

原创 Asio C++零基础入门(十):Asio C++实际项目应用案例

多个客户端同时连接客户端之间的消息广播用户名注册和显示简单的聊天命令(如列出在线用户)处理GET请求静态文件服务简单的动态响应HTTP/1.1基本功能客户端向服务器上传文件客户端从服务器下载文件文件传输进度显示大文件传输支持TCP连接转发基本的连接管理简单的日志记录支持多个并发连接本文通过四个实际项目案例,展示了如何在真实世界的应用程序开发中使用Asio C++库。

2025-09-15 10:42:46 970

原创 Asio C++零基础入门(九):Asio C++性能优化技巧

/ 简单的自定义内存池public:// 预先分配内存块++i) {// 释放所有内存块// 分配内存块// 如果没有空闲块,创建新的// 释放内存块if (it!private:// 使用自定义内存池if (!ec) {// 处理数据// 释放缓冲区回内存池});// 启用Asio的优化#define ASIO_DISABLE_IOCP // 如果不使用IOCP(Windows)

2025-09-15 10:40:02 564

原创 Asio C++零基础入门(八):Asio C++20协程集成

协程是一种可以在特定点暂停执行并在稍后恢复的函数。与传统函数不同,协程的执行可以被挂起和恢复,而不会丢失其状态。这使得协程特别适合异步编程,因为它允许代码以同步的风格编写,同时保持异步执行的效率。// 自定义awaitable类型public:// 返回false表示需要挂起return!// 存储协程句柄// 模拟异步操作完成后恢复协程// 模拟一些工作// 恢复协程执行// 协程恢复时的返回值private:// 使用自定义awaitable的协程。

2025-09-15 10:39:01 575

原创 Asio C++零基础入门(七):Asio C++错误处理策略

public:private:// 使用自定义异常if (ec) {在本文中,我们深入探讨了Asio C++库中的错误处理策略,包括错误码、异常处理、错误恢复机制、优雅关闭以及错误日志记录等方面。有效的错误处理是构建健壮、可靠网络应用的关键。在下一篇教程中,我们将学习Asio与C++20协程的集成,这是现代C++中简化异步编程的重要特性,可以显著提高代码的可读性和可维护性。

2025-09-15 10:37:48 940

原创 JWT(JSON Web Token)深度解析:从原理到实战落地

JWT(JSON Web Token)是一种轻量级、无状态的认证方案,通过自包含的令牌实现安全数据传输。其核心结构分为Header(加密算法)、Payload(用户数据)和Signature(验证签名)三部分,采用Base64Url编码。JWT的工作流程包括登录验证、令牌生成和后续请求的令牌校验,支持跨域和微服务架构。文章详细解析了JWT的技术原理,并提供了Node.js、Java等语言的实现示例,帮助开发者掌握这一主流认证技术。

2025-09-14 22:31:47 1814 1

原创 Win10/11系统C盘深度清理指南:从基础操作到空间扩容,告别磁盘爆红

在使用Win10/11系统的过程中,C盘作为系统盘,常会因临时文件堆积、缓存残留、休眠文件占用等问题逐渐“变红”,不仅影响系统运行速度,还可能导致软件安装、系统更新失败。本文整理了,涵盖手动删除冗余文件、命令行高效操作、系统工具深度清理,适用于不同电脑基础的用户,帮你安全释放C盘空间,让系统重回流畅。

2025-09-14 17:50:01 4409

原创 手把手教你调用DeepSeek API:从环境搭建到实战示例

在自然语言处理领域,DeepSeek凭借其强大的模型性能(如DeepSeek-R1对标OpenAI o1、DeepSeek-V3优化对话体验),成为开发者实现文本生成、智能对话、多语言翻译等功能的优选工具。本文将以的视角,从准备工作到代码实战,再到问题排查,完整拆解DeepSeek API的调用流程,帮你快速打通从API获取到功能落地的全链路。

2025-09-14 17:47:13 3367

原创 企业级HTML编码规范:从规范设计到工程化实践

在前端开发体系中,HTML作为页面结构的基石,其编码质量直接影响项目的可维护性、浏览器兼容性、用户体验及工程化效率。然而,在多人协作或大型项目中,因编码风格不统一导致的"代码混乱"“维护成本高”"性能隐患"等问题频发。本文基于W3C标准及企业级开发实践,构建一套涵盖文档结构、编码风格、语义化、性能优化、可访问性的完整HTML编码规范,同时提供工程化落地方案,帮助团队实现"代码标准化、协作高效化、产品高质量"的目标。HTML编码规范并非"教条式的约束",而是基于"可维护性、性能、用户体验"的工程化实践总结。

2025-09-14 16:56:29 903

原创 手把手教你实现C++ STL队列(queue):一文讲通底层原理到实战封装

在计算机科学的基础数据结构中,队列(Queue)凭借“先进先出(FIFO,First-In-First-Out)”的核心特性,成为任务调度、消息队列、缓冲区处理等场景的“常客”。在C++标准模板库(STL)中,std::queue并非独立的容器,而是一种容器适配器——它基于底层容器(如deque、list)封装队列操作接口,隐藏复杂的底层实现,仅暴露符合队列逻辑的核心功能。

2025-09-14 16:43:02 825

C语言实训报告.doc

C语言实训报告-学生成绩管理系统

2021-03-23

220个经典C程序源码.7z

里面有很多经典小程序。不管是算法,还是小游戏,都包含在其中。

2021-03-23

ACM算法模板集锦.zip

里面有很多C语言函数模板,萌新受用,大佬参考。可以在瓶颈期去找找灵感。

2021-03-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除