C/C++
文章平均质量分 95
详解C/C++的语法,语言特性。
zephyr05
沉淀中......
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
从零开始实现贪吃蛇小游戏(C语言版第一期)
Windows这个多作业系统除了协调应⽤程序的执⾏、分配内存、管理资源之外,它同时也是⼀个很⼤ 的服务中⼼,调⽤这个服务中⼼的各种服务(每⼀种服务就是⼀个函数),可以帮应⽤程序达到开启 视窗、描绘图形、使⽤周边设备等⽬的,由于这些函数服务的对象是应⽤程序(Application),所以便 称之为ApplicationProgrammingInterface,简称API函数。WIN32API也就是MicrosoftWindows 32位平台的应⽤程序编程接⼝。原创 2025-09-29 18:09:54 · 1268 阅读 · 0 评论 -
C++继承:解锁面向对象编程的基石
继承(inheritance)机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类。继承呈现了⾯向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的函数层次的复⽤,继承是类设计层次的复⽤。比如我们要设计两个类Student和Teacher,Student和Teacher都有姓名/地址/电话/年龄等成员变量,都有identity⾝份认证的成员函数,设计到两个类⾥⾯就是冗余的。原创 2025-11-20 16:25:33 · 817 阅读 · 0 评论 -
解锁C++核心魔法:一文读懂“类”与“对象”的奇妙世界(第三期)
• 内部类本质也是⼀种封装,当A类跟B类紧密关联,A类实现出来主要就是给B类使⽤,那么可以考虑把A类设计为B的内部类,如果放到private/protected位置,那么A类就是B类的专属内部类,其他地⽅都⽤不了。• 友元提供了⼀种突破类访问限定符封装的⽅式,友元分为:友元函数和友元类,在函数声明或者类声明的前⾯加friend,并且把友元声明放到⼀个类的⾥⾯。• 如果⼀个类定义在另⼀个类的内部,这个内部类就叫做内部类。• 友元类的关系是单向的,不具有交换性,⽐如A类是B类的友元,但是B类不是A类的友元。原创 2025-10-28 13:45:14 · 844 阅读 · 0 评论 -
解锁C++核心魔法:一文读懂“类”与“对象”的奇妙世界(第一期)
public: //访问限定符//放置共有的属性与⽅法protected://放置保护的属性与⽅法private://放置私有的属性与⽅法● class为定义类的关键字,Date为类的名字,{}中为类的主体,注意类定义结束时后⾯分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的⽅法或● public修饰的成员在类外可以直接被访问;原创 2025-10-27 14:14:08 · 912 阅读 · 0 评论 -
解锁C++核心魔法:一文读懂“类”与“对象”的奇妙世界(第二期)
但是这三个函数有且只有⼀个存在,不能同时存在。• 之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化列表的使⽤⽅式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后⾯跟⼀个放在括号中的初始值或表达式。3. 没有显式实现时,编译器会⾃动⽣成⼀个默认赋值运算符重载,默认赋值运算符重载⾏为跟默认拷⻉构造函数类似,对内置类型成员变量会完成值拷⻉/浅拷⻉(⼀个字节⼀个字节的拷⻉),对⾃定义类型成员变量会调⽤他的赋值重载函数。原创 2025-10-27 15:49:31 · 1139 阅读 · 0 评论 -
深入浅出C++多态:从虚函数到动态绑定的完全指南
多态是⼀个继承关系的下的类对象,去调⽤同⼀函数,产⽣了不同的⾏为。⽐如Student继承了Person。Person对象买票全价,Student对象优惠买票。实现多态还有两个必须重要条件:• 必须是基类的指针或者引⽤调⽤虚函数• 被调⽤的函数必须是虚函数,并且完成了虚函数重写/覆盖。原创 2025-11-21 13:35:13 · 1012 阅读 · 0 评论 -
C++ STL string 用法详解与示例
本文全面介绍了C++标准模板库(STL)中string类的使用方法。内容包括字符串的创建初始化、基本操作(获取信息、访问修改字符)、修改操作(追加、插入、删除、替换)、查找与子字符串提取、字符串比较、数值与字符串相互转换、输入输出操作等核心功能。通过大量示例代码演示了各方法的实际应用,并详细说明了size()/length()、at()/[]等方法的区别及使用场景。文章还介绍了字符串内存管理(resize/reserve)和交换操作等高级功能,为C++开发者提供了完整的字符串处理参考指南。原创 2025-12-17 16:36:24 · 901 阅读 · 0 评论 -
从零开始实现贪吃蛇小游戏(C语言版第二期)
可以看到,ASCII字符集共包含128个字符,在英语 国家中,128个字符是基本够⽤的,但是,在其他国家语⾔中,⽐如,在法语中,字⺟上⽅有注⾳符 号,它就⽆法⽤ASCII码表⽰。于是,⼀些欧洲国家就决定,利⽤字节中闲置的最⾼位编⼊新的符 号。在游戏运⾏的过程中,蛇每次吃⼀个⻝物,蛇的⾝体就会变⻓⼀节,如果我们使⽤链表存储蛇的信息,那么蛇的每⼀节其实就是链表的每个节点。setlocale 的第⼀个参数可以是前⾯说明的类项中的⼀个,那么每次只会影响⼀个类项,如果第⼀个参数是LC_ALL,就会影响所有的类项。原创 2025-09-30 14:58:37 · 1326 阅读 · 0 评论 -
C++ STL unordered_set 与 unordered_map 完全指南
在C++标准模板库(STL)中,和是基于哈希表实现的容器,提供了平均O(1)时间复杂度的查找、插入和删除操作。与有序容器(setmap)不同,它们不维护元素的任何特定顺序。// 元素个数: 5// 是否为空: 0(false)// 可存储的最大数量// operator[] - 访问或插入元素// 修改现有元素// 插入新元素// 访问元素// at - 访问元素,越界时抛出异常try {原创 2026-01-18 16:22:29 · 822 阅读 · 0 评论 -
C++11右值引用:从移动语义到完美转发
• Function(T&& t)函数模板程序中,假设实参是int右值,模板参数T的推导int,实参是int左值,模板参数T的推导int&,再结合引⽤折叠规则,就实现了实参是左值,实例化出左值引⽤版本形参的Function,实参是右值,实例化出右值引⽤版本形参的Function。• 变量表达式都是左值属性,也就意味着⼀个右值被右值引⽤绑定后,右值引⽤变量表达式的属性是左值,也就是说Function函数中t的属性是左值,那么我们把t传递给下⼀层函数Fun,那么匹配的都是左值引⽤版本的Fun函数。原创 2025-11-29 15:30:36 · 1157 阅读 · 0 评论
分享