雪星猫宇
码龄2年
关注
提问 私信
  • 博客:66,293
    66,293
    总访问量
  • 138
    原创
  • 25,265
    排名
  • 1,030
    粉丝
  • 0
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
  • 加入CSDN时间: 2022-11-13
博客简介:

weixin_75188368的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,002
    当月
    4
个人成就
  • 获得1,311次点赞
  • 内容获得15次评论
  • 获得604次收藏
  • 代码片获得140次分享
创作历程
  • 121篇
    2024年
  • 17篇
    2023年
成就勋章
TA的专栏
  • C语言
    1篇
  • leetcode
    1篇
  • C++
    51篇
  • 计算机网络
    1篇
  • Linux
    34篇
  • 数据结构和算法
    24篇
  • 面试题
    10篇
  • 项目
    2篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

C语言常见运算符

C语言提供了丰富的运算符,这些运算符用于执行各种类型的操作,比如算术运算、比较运算、逻辑运算、位运算等。
原创
发布博客 2024.09.09 ·
2020 阅读 ·
23 点赞 ·
1 评论 ·
26 收藏

力扣每日1题--2181.合并零之间的节点

下面我会向大家介绍我的思考过程和解题思路。
原创
发布博客 2024.09.09 ·
519 阅读 ·
5 点赞 ·
0 评论 ·
3 收藏

C++基类与派生类

class : private:派生类新增成员;protected:派生类新增成员;public:派生类新增成员;说明:(1)class:类声明的关键字;(2)派生类名:新(派生)类名;(3)继承方式:指出继承的方式是什么。继承方式包含以下3种。• public(公有继承方式)使用的最多;• private(私有继承方式);• protected(保护继承方式)。用来说明对于从基类继承来的成员的访问权限,这个稍后介绍。
原创
发布博客 2024.06.03 ·
1995 阅读 ·
19 点赞 ·
0 评论 ·
25 收藏

C++类的继承与派生概念

如谈论“白猫”时,它也是猫,只不过增加了一个新的特征,即它的毛是白色的。“白猫”是一类特殊的“猫”,“白猫”从“猫”那里继承了“猫”的全部特征,同时又增加了一个新特征。可以定义描述“猫”的类 cat 和“白猫”的类 whitecat ,为了准确描述这两个类之间的关系,C++提供了一种继承和派生机制,在这种机制下,类whitecat自动拥有类cat的所有成员,该类的每一个对象都是类cat的对象,也就是实现了“每一个白猫都是猫”。(2)如果某个类的直接基类有两个或两个以上,则称该继承为多重继承。
原创
发布博客 2024.06.03 ·
458 阅读 ·
3 点赞 ·
0 评论 ·
9 收藏

C++对象移动

在某些情况下,对象拷贝后就立即被销毁了,这时利用新标准(C++11)提供的对象移动而非拷贝将大幅提升性能.
原创
发布博客 2024.06.02 ·
396 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

C++在构造函数中使用new

●如果有多个构造函数,则必须以相同的方式使用new,要么都带[],要么都不带。在一个构造函数中将指针初始化为空指针(0,NULL,nullptr)也是可以的,这是因为delete(无论带不带[])可以用于空指针。●应该定义一个拷贝构造函数,通过深拷贝将一个对象初始化成另一个对象。通常,这种构造函数与下面的类型。如果对象中出现指针成员变量,那么必须实现构造函数,析构函数,拷贝构造函数和=重载函数,以达到深拷贝.拷贝构造函数应分配足够的空间来存储需要复制的数据,并复制数据,另外,还要更新其它成员。
原创
发布博客 2024.06.02 ·
497 阅读 ·
3 点赞 ·
0 评论 ·
5 收藏

C++自定义String类

s1,s2,s3,s3,s5都是局部变量,当main函数结束时生命周期自动结束,分别调用自己的析构函数。由于局部变量在栈中,栈的特点是后进先出,所以析构的顺序是s5,s4,s3,s2,s1。第3种情况,可能调用拷贝构造函数直接创建s4,也可能使用拷贝构造函数生成一个临时对象,然后再赋值给s4,这取决于编译器的具体实现,但我们使用的编译器都是直接调用拷贝构造函数直接创建s4;ps4是通过new创建的,在程序结束前必须调用delete释放,delete ps4时会调用ps4的析构函数。
原创
发布博客 2024.06.02 ·
311 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

C++深拷贝

深拷贝,即为每个指针创建一个单独的内存,然后再复制数据。
原创
发布博客 2024.06.02 ·
256 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++浅拷贝

浅拷贝,多个指针指向同一段内存,出现一处指针修改数据,其它指针的数据也发生改变。
原创
发布博客 2024.06.02 ·
318 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏

C++一个StringBad类

上面的代码在构造s2时已经出错(s3也有问题),构造s2时并没有调用构造函数,后面在析构s2时程序直接崩溃。使用默认拷贝构造函数和使用默认=赋值运算符,导致浅拷贝,在析构时会出现重复释放(delete)同一段内存,导致程序崩溃。●拷贝(复制)构造函数。用对象初始化另一个新建对象,逐个复制非静态成员,复制的是成员的值(浅复制)。用对象赋值给另一个对象,逐个复制非静态成员,复制的是成员的值(浅复制)。设计一个字符串类,下面的代码是一个不好的设计,起名StringBad。●默认析构函数,不执行任何操作。
原创
发布博客 2024.06.02 ·
456 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

C++ 类型转换

本主题讨论C++如何处理用户自定义类型的转换。在讨论前,我们先复习一下C++如何处理内置类型转换的。1.如果这两种类型兼容,则自动将值转换为接收变量的类型。例如2.类型不兼容,不能自动转换,但可以强制转换。例如。
原创
发布博客 2024.05.30 ·
1085 阅读 ·
25 点赞 ·
0 评论 ·
13 收藏

C++运算符重载函数作为成员函数还是非成员函数

注意:非成员函数的重载运算符所需要的形参数目与运算符使用的操作数数目相同;而成员函数所需的参数数目少一个,因为其中的一个操作数是被隐式传递对象本身(this)。对于"<<"和">>"的重载必须是非成员函数,因为它的第一个参数是cout或者cin,不是自定义类对象。第一个操作数不是类对象的不能使用成员函数,例如cout<<类对象;重载运算符作为成员函数必须要求运算表达式第一个参数是类对象,因为必须通过类的对象去调用该类的成员函数。总结:能写成成员函数就使用成员函数,不能写成成员函数才使用非成员函数(友元)
原创
发布博客 2024.05.30 ·
238 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++常用的友元重载

<运算符要求左边是一个ostream对象,显然,cout是ostream对象,所以表达式cout<<x满足要求,但(cout<<x)目前的返回值是void,那么在 << y左侧的不再是ostream的对象cout ,所以出现错误。<<是可以并且多次被重载的运算符,最初<<是C和C++的位运算符,ostream类对该运算符进行了重载,对于每种基本类型,ostream类声明中都包含了相应的重载的operator<<定义。例如:重载运算符“<<”和“>>”的示例。在ctime.h中进行类型定义,代码如下。
原创
发布博客 2024.05.29 ·
418 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

C++利用友元进行重载

如果要为类重载运算符,可以定义第一操作数为类对象的成员函数,再添加一个第一操作数为非类对象的友元函数,然后友元函数内部,反转操作数的顺序(必须符合交换律)去调用类成员函数。由于于类的成员运算符重载函数的第一个操作数一定是类的对象, 有的情况运算符必须写成非成员函数.这个函数如果需要获得类对象的私有数据,则有如下方法。对于类的私有部分,只能通过公有的方法访问,但有时这种限制太严格,不适合特定的编程问题。实际上,还有更好的办法,利用乘法交换律,可以把上面的友元函数改为非友元(比方法1更简单)。
原创
发布博客 2024.05.29 ·
182 阅读 ·
7 点赞 ·
0 评论 ·
3 收藏

C++运算符重载

运算符重载是一种形式的C++多态,它使得对象操作更直观,本质上也是属于函数重载。实际上,我们已经在不知不觉之中使用了运算符重载。例如,加法运算符“+”可以对整数相加、也可以对string对象相加,如5+8;s1+s2;这是因为C++已经对string类重载了“+”运算符。又例如,C++对“<<”和“>>”进行了重载,用户在不同的场景下使用它们,作用是不同的。对于位运算而言,“<<”运算符是左移运算符,“>>”运算符是右移运算符。
原创
发布博客 2024.05.28 ·
1618 阅读 ·
54 点赞 ·
0 评论 ·
26 收藏

C++类与对象的特性

常量成员函数不能改变类的数据成员的值,也不能调用该类中非常量成员函数,只能调用该类的常量成员函数。静态成员函数不属于类的特定对象,其可以在不生成类的对象的情况下,直接访问类的静态成员变量,而不能访问类的非静态成员变量。当一个类声明为另一个类的友元时,这个类中的所有成员函数不仅可以访问自己所在类的所有成员,而且还可以访问friend语句所在类的所有成员。当一个类的成员函数声明为另一个类的友元函数后,它不仅可以访问自己所在类的所有成员,而且还可以访问friend语句所在类中所有成员。常量引用的对象不能被修改。
原创
发布博客 2024.05.28 ·
309 阅读 ·
5 点赞 ·
0 评论 ·
4 收藏

C++对象的生存期

对象生存期也称对象生命周期,是指对象从被创建到被释放的时间。按生存期的不同,对象可分为局部对象、静态对象、全局对象和动态对象4种。1.局部对象局部对象是指定义在一个程序块或函数体内的对象,包括形参。当定义对象时,系统自动调用构造函数,该对象被创建,对象的生存期开始。当退出该函数体或程序块时,调用析构函数,释放该对象,对象的生存期结束。#include <iostream>using namespace std;class A //测试
原创
发布博客 2024.05.18 ·
729 阅读 ·
11 点赞 ·
0 评论 ·
22 收藏

C++常量类型

在C++中,常量的定义使用const。由于常量的值在程序运行过程中不能被改变,因此,定义或说明常量时必须对其进行初始化。常量包含内置类型常量、对象类型常量(常量对象)、引用类型常量(常量引用)、常量对象成员(包括常量成员函数和常量数据成员)和指针常量(常量指针)等。本节介绍常量对象、常量引用、常量成员。
原创
发布博客 2024.05.14 ·
357 阅读 ·
5 点赞 ·
0 评论 ·
8 收藏

C++友元函数和友元类

类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,而其他函数是无法访问类的私有成员的。但有时这种限制太严格,不适合特定的编程问题。C++提供另一种访问途径-友元。友元有3种:●友元函数●友元成员函数●友元类对于一个类而言,它的友元虽然不是该类的成员函数,但是可以访问该类的私有成员。
原创
发布博客 2024.05.14 ·
684 阅读 ·
18 点赞 ·
0 评论 ·
8 收藏

C++类的静态成员

static 类型名 静态成员变量名;例如:定义一个学生类Student,其中包含学生姓名、学号、成绩,以及学生总人数。private://姓名int m_id;//学号//分数//学生总数。静态成员变量public://构造函数//输出函数。
原创
发布博客 2024.05.13 ·
561 阅读 ·
18 点赞 ·
0 评论 ·
7 收藏
加载更多