
C++
文章平均质量分 50
计算机小混子
在校大学生记录学习历程
展开
-
C++ 中 :: 的各种用法
在类的声明中,只提供成员函数的声明,函数体可以在类外定义。使用类名::成员函数名指定作用域。public:// 仅声明// 在类外定义成员函数obj.show();return 0;用法示例说明全局作用域::value访问全局变量或全局函数类作用域访问类的静态成员或类外定义的成员函数命名空间作用域访问命名空间内的变量或函数嵌套命名空间访问嵌套命名空间的成员强类型枚举访问强类型枚举的枚举值成员函数指针获取类的非静态成员函数指针匿名命名空间::member访问匿名命名空间中的全局成员。原创 2025-01-11 00:23:49 · 1618 阅读 · 0 评论 -
C++ 函数指针
特性示例定义函数指针使用 typedef 简化函数指针作为参数函数指针数组指向成员函数的函数指针函数指针在回调函数、动态函数选择和策略模式中应用广泛。如果需要扩展到现代 C++,可以使用 std::function和Lambda 表达式替代传统的函数指针。原创 2025-01-11 00:20:22 · 624 阅读 · 0 评论 -
左值引用(Lvalue Reference)和右值引用(Rvalue Reference)详解
左值是指在程序中有持久存储地址的对象。左值可以被取地址(操作符)。左值可以出现在赋值语句的左侧。int x = 10;// x 是左值,存储在内存中,有地址x = 20;// 可以修改左值左值引用(T&)是绑定到左值的一种引用。它是左值的别名,可以通过引用对原对象进行修改。int x = 10;// 左值// ref 是 x 的引用ref = 20;// 修改 ref 等同于修改 x右值引用(T&&)是绑定到右值的一种引用。它可以延长右值的生命周期,允许在右值上执行操作。原创 2025-01-10 18:42:30 · 588 阅读 · 0 评论 -
C++智能指针
智能指针是一种封装了原始指针的类,它们通过自动管理内存的分配和释放来减少内存泄漏和其他相关错误。是一个模板类,提供了对单一对象的独占所有权语义。这意味着,任何时候只能有一个unique_ptr指向特定对象。:一旦unique_ptr指向一个对象,没有其他的unique_ptr可以指向同一个对象。:当unique_ptr离开其作用域或被显式销毁时,它所指向的对象也会被删除。:您可以通过std::move转移unique_ptr的所有权。用法是另一种智能指针,它实现了共享所有权的概念。多个。原创 2023-11-20 09:03:09 · 1012 阅读 · 0 评论 -
洛谷P2550-彩票摇奖
三个输入,第一个买的彩票张数,第二个存的中将号码,第三个存的买的彩票号码,因为买的彩票可能多张所以使用的二维数组,然后就遍历每个中将号码看是否在我买的彩票中出现,统计出现的个数,这是一个三层循环,最外层是第几张彩票,第二层是中奖号码,第三层是我的彩票号码,最后用一个灵魂的switch语句。原创 2023-05-20 22:00:12 · 330 阅读 · 0 评论 -
洛谷P1217-回文质数 Prime Palindromes
这个题目我做出来了但是超时了,时间复杂度有点高,主要是因为我用了大量的循环, 所以我这个是比较暴力的解法,下面我分析我的暴力代码。然后是判断质数,众所周知素数是只有1和它自身以外的数都不能整除的数。首先是判断回文数的函数。原创 2023-05-14 20:38:02 · 769 阅读 · 0 评论 -
洛谷P2669-金币
【代码】洛谷P2669-金币。原创 2023-05-14 00:08:51 · 537 阅读 · 0 评论 -
洛谷P1424-小鱼的航程(改进版)
这个题我第一次做的时候,有两个没过,后来检查的时候发现原来是没有考虑开始的时间是不是周六周日,如果是周六要在原来的天数上-2,如果是周日在原来的天数上-1,既不是周六也不是周日就7减去周几再+1,例如是从周一开始的7-1=6,但是很明显从周一到周日是7天自然要加1,之后计算剩余天数有几个整数周和最后一周是周几,要是周六,周日就只算周一到周五的,如果是周一到周五就正常用天数乘与每天游过的距离。原创 2023-05-12 20:42:51 · 325 阅读 · 0 评论 -
10进制转换成其他进制(C/C++)
C/C++版本的进制转换,10进制转换为其他进制。原创 2023-04-01 20:50:08 · 373 阅读 · 0 评论 -
Dijkstra算法
最短路径算法之,迪杰斯特拉算法原创 2023-01-24 01:03:29 · 698 阅读 · 0 评论 -
C++版数据结构-----线性表
数据结构线性表,析构函数未实现原创 2023-01-05 22:09:18 · 1070 阅读 · 0 评论 -
const修饰指针
const修饰指针原创 2022-09-14 14:16:46 · 118 阅读 · 0 评论 -
C++实现线性表的顺序表
C++实现数据结构线性表的顺序表原创 2022-07-14 20:36:05 · 885 阅读 · 0 评论 -
C++实现单链表
C++实现数据结构单链表原创 2022-07-14 20:34:17 · 1112 阅读 · 0 评论 -
浅复制和深复制
浅复制是由木偶人构造函数实现的,将对应数据成员一一复制。浅复制template<class T>Array<T>::Array(const Array<T>&a){ size=a.size; a.list = list;}如果主函数中有这样的语句:int main(){ Array<int> a(10); Array<int> b(a);}则浅层效果可以看出浅层复原创 2022-05-08 02:41:21 · 336 阅读 · 0 评论 -
C/C++预处理指令
本文主要记录了C/C++预处理指令,常见的预处理指令如下:#空指令,无任何效果 #include包含一个源代码文件 #define定义宏 #undef取消已定义的宏 #if如果给定条件为真,则编译下面代码 #ifdef如果宏已经定义,则编译下面代码 #ifndef如果宏没有定义,则编译下面代码 #elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码 #endif结束一个#if……#else条件编译块 #error停止编译并显示错误信息...原创 2022-04-12 19:51:14 · 1283 阅读 · 1 评论 -
字符数组的应用
一维数组char s[10];s可以存储的字符串的最大长度(字符串中字符的个数)为9个字符,在最后一个字符后面存储一个字符'\0'(ASCII码为0的字符)作为字符串的结束标志char s2[10]={"student"};char s3[10]="student";char s4[]="student";cahr s1[20]={'s','t','u','d','e','n','t','\0'};上面的字符数组初始化时,除了第一种形式,其余的都会在在最后一个字符的后面自动加上'\原创 2022-04-02 21:43:12 · 512 阅读 · 0 评论 -
C++四种类型转换运算符:static_cast、dynamic_cast、const_cast和reinterpret_cast
了使潜在风险更加细化,使问题追溯更加方便,使书写格式更加规范,C++ 对类型转换进行了分类,并新增了四个关键字来予以支持,它们分别是:关键字 说明 static_cast 用于良性转换,一般不会导致意外发生,风险很低。 const_cast 用于 const 与非 const、volatile 与非 volatile 之间的转换。 reinterpret_cast 高度危险的转换,这种转换仅仅是对二进制位的重新解释,不会借助已有的转换规则对数据进行调整,但是可以实现最转载 2022-03-22 21:33:17 · 611 阅读 · 0 评论