成员指针
成员函数指针并非常规的指针 成员指针分为成员函数指针 和数据成员指针 。数据成员指针 /虚函数成员指针并没有真的指向一个内存 ,仅仅是表示在当前类,那个字段的位置 。如:&X::value 表示的只是这个数据成员value 在类X 中的位置。 数据成员指针 /虚函数成员指针是一种类似于偏移量 的东西,而成员函数指针真正的存储了一个地址。 成员指针无法脱离类的实例对象单独使用 ,无论是非静态数据成员指针还是非静态成员函数指针。 静态数据成员和静态成员函数不与类关联,不参与这个成员指针的讨论。 代码存储位置:shanchuann /Modern_CPP 成员函数指针123456789101112131415161718#include <iostream>using namespace std;struct X{ void f() { cout << "1"<<endl; }};int main(){ void (X:: * p)()...
默认实参
代码存储位置:shanchuann /Modern_CPP 声明在函数声明中,当我们想给函数形参声明为默认实参时,我们需要确保在当前作用域下 该形参后的形参也是_默认形参_ 。 12345678910//在函数声明中,形参若想声明默认实参,则应当确保当前或同一作用域下提前给其后面的形参声明了默认实参void f(int, int, int = 10);void f(int, int = 20, int);void f(int = 30, int, int);void f(int a, int b, int c) { cout << a << " " << b << " " << c << endl;}int main() { f();} 当我们将void f(int, int = 20, int); 移动至第一行时,会显示以下ERROR : 123void f(int, int = 20, int);void f(...
Gitbook使用指南
当我决定将我的学习笔记上传至Gitbook而不是直接上传至个人主页时,我将遭受到墓前所遇到的最大的阻碍。纵观全网在提到gitbook时,大部分都是本地gitbook init 后生成书籍,当想要在线浏览时更多的是与Github联动,然而我并没有找到有关于gitbook官方网站的使用办法,再加上我的翻译功能在此遭遇了机生最大的滑铁卢——翻译完全失效了! 所以我决定写一篇关于Gitbook官网,及在线编辑book的教程。 准备工作对于Github的安装和gitbook的安装想必前辈们已经总结出非常多样化的方法,各位按需拿取即可,本人在这里不做过多赘述,让我们直接进入目标环节 登陆我们可以直接打开GitBook – Build product documentation your users will love 网站,选择众多登陆方式中的一种,在这里我选择也推荐使用Github登陆 成功登入后选择来到Home界面,会看见布局如下图所示。 顶部功能与用户区 用户名 [yourname] :你当前登录的账号。 搜索、通知图标:用于搜索页面或查看通知。 平台功能入口 Home :平...
Cursor Meetup Xi'an活动纪实
2025 年 9 月 17 日晚,当邮箱里弹出 Cursor Meetup Xi’an 的活动通过通知时,我立刻敲定了参会计划 —— 对于渴望突破认知边界的开发者而言,这类汇聚实战经验与官方洞见的线下交流,其价值远胜于独自钻研的日常学习。 9 月 20 日星期六,西安市雁塔区丈八东路汇智立丰中心 12 号楼 12 层早已布置妥当,醒目的 “CURSOR” 标识与精心陈列的物料,让刚出电梯的参会者瞬间就能捕捉到活动的专业氛围。 Cursor Meetup Xi’an活动议程 13:30-14:00 签到14:00-14:10 开场 &致谢 &合照 👋14:10-15:30上半场分享 -14:10-14:20:影风 如何更深入使用cursor编程和工作 -14:20-14:40 小橘子 cursor编程指北-从开发一个安卓应用说起 -14:40-15:10 微风不燥 Cursor在办公场景的高效实践 -15:10-15:20 Cursor官方Q &A-15:20-15:40 茶歇 👋15:40-17:00下半场分享 -15:40-16:00 Lex ...
2048游戏设计
游戏玩法2048游戏共有16个格子,初始时初始数字由2或者4构成 手指向一个方向滑动,所有格子会向那个方向运动 相同数字的两个格子,相撞时数字会相加 每次滑动时,空白处会随机刷新出一个数字的格子 当界面不可运动时(当界面全部被数字填满时),游戏结束,或当界面中最大数字是2048时,游戏胜利 玩家通过合并得到1个数N,这个数就计分N,比如说,2个2合并得到4,就加4分,2个1024合并得到2048,就加2048分 设计思路游戏地图和初始设置: 使用一个 4x4 的二维数组 map 来表示游戏地图 初始时,所有位置的值均为0 score 记录玩家得分,move_num 记录移动次数 随机生成数字: 在地图上随机选择一个空位置生成 2 或 4 只有在地图发生变化时才会生成新数 游戏菜单: 使用 menu() 函数显示当前的游戏状态,包括地图、得分和移动次数 提示玩家使用 W、A、S、D 键进行移动 读取玩家输入,并根据输入的方向调用相应的移动函数 ( up()、left()、down()、right() ) 每个移动函数都负责处理特定方向的移动,并更新地图 ...
将执象
序黄沙滚滚,烽烟斜斜的飘向高空。 凄哀婉转的歌声萦绕在陈晓的耳畔。面前魁梧的身影已经倒下,歌唱的女子一曲唱罢,也是一剑划过了白皙的脖颈,自此香消玉殒。 …… “将军。” 温润的声音响起,像是两块碰撞在一起的磁石。 少年将卒挪在帅的旁边,完成了这一局的最后一步。 第一局陈晓幼年时,父母被劫食的山匪所杀,幸得一军士路过,救下了尚是孩童的陈晓。 安顿好陈晓后,那军士便离开了。在他小小的眼中,那个身影是如此的高大。 时间像是指间的沙砾,不知不觉便流逝大半。曾经的孩童现已十又八九。十八年里,陈晓挨家挨户给村民帮衬农活,村民也就管了他的一日二餐。逢大旱之年也愿意凑出点粮食让他不至于饿着肚子。 “陈晓!陪我玩好不好!” “陈晓,你说,将来我嫁给你……” “陈晓!你过来给我梳头!” “陈晓……” ………… “陈晓!回来吃饭啦!” 少女清脆的声音在田垄上回荡,垄上劳作的少年停顿了一下,直起腰抹了一把汗。 不一会,土路上便出现了一高一低两个身影。在夕阳的照映下,影子被无限的拉长,少年背上的锄头一晃一晃。 “都说了不用来帮我们,你怎么就不听呢。” 见陈晓不说话,女孩便继续问道:“你早就能自力更生了,为...
crate、Option、Trait、泛型及生命周期
Rust 作为一门注重内存安全、并发安全和代码复用的系统级编程语言,其核心特性相互支撑,构成了严谨且灵活的编程范式。本文将单独聚焦 crate、Option、Trait、泛型及生命周期五大核心特性,从定义、核心作用、使用场景、具体用法到实例演示,全面拆解每个知识点,确保无遗漏、易理解,帮助开发者扎实掌握这些 Rust 编程的必备技能。 Crate定义与核心作用Crate( crate )是 Rust 中最小的代码组织和编译单元,本质上是一个包含 Rust 源代码的文件夹或文件,用于封装相关的功能模块,实现代码的模块化、可复用和可维护。无论是简单的单文件程序,还是复杂的大型项目,都由一个或多个 crate 组成。 Crate 的作用有三个:一是封装功能,将相关的函数、结构体、Trait 等集中管理,避免命名冲突;二是实现代码复用,一个 crate 可以被其他项目依赖和调用;三是简化编译流程,Rust 编译器以 crate 为单位进行编译,提升编译效率。 Crate 的分类Rust 中的 crate 主要分为两类,二者用途不同,适用场景也有所区别: 可执行 crate(Execut...
Rust基础语法与所有权
Rustlings 入门关键资源与配置指令学习 Rust 前需完成环境配置,并储备核心学习资源,以下是经过验证的可靠资源和关键指令,确保环境配置顺利、学习有支撑: Rust 语言官网:https://www.rust-lang.org/zh-CN/,包含官方文档、最新特性介绍、生态工具等,是学习 Rust 的核心权威资源。 环境配置教程:https://rcore-os.cn/rCore-Tutorial-Book-v3/chapter0/5setup-devel-env.html,详细讲解了 Windows、Linux、Mac 三种系统的 Rust 开发环境配置步骤,适配训练营学习需求。 Rustlings 仓库:https://classroom.github.com/a/S8vP0lDr,训练营专属 Rustlings 练习仓库,需通过该仓库获取 110 道练习题,完成后可提交验证。 Rust 自动安装脚本:curl https://sh.rustup.rs -sSf | sh,适用于 Linux 和 Mac 系统,可一键安装 Rust 工具链(包含 rustc、carg...







