- 博客(15)
- 收藏
- 关注
原创 C&C++内存分布
这篇文章介绍了C++中的内存管理,重点讲解了动态内存管理的工具new和delete。与C语言的malloc和free不同,new和delete在处理自定义类型时会自动调用构造函数和析构函数。文章还介绍了定位new表达式,用于在已分配的内存中调用构造函数进行初始化。
2025-02-07 11:05:46
1192
1
原创 触摸C++的门槛——类和对象(下)
C++的类和对象在此就要告一段落,对于类和对象,并不是短短几篇文章就能够理解透彻的,日后在使用C++的过程中,我们需要不断去认识和理解C++的类和对象,不断思考,才有可能窥见其真正的模样。在类外访问类中的成员时会受到访问限定符的限制:除了 public 外,其余权限修饰的成员都不能在类外进行访问,但是C++中的友元声明可以帮助我们突破访问限定符的限制。其次,内部类也不会包含在类 A 的大小中,尽管它是内部类,但是也仅仅是个声明,除非我们在 A 中定义 B 的对象,否则内部类并不会影响类 A 的大小。
2025-01-26 12:41:31
894
原创 初始化列表探秘
前两个我们已经解释过了,对于第三个,由于是自定义类型成员,如果我们不在初始化列表中进行初始化,那么编译器会自动调用其默认构造函数,然后就会报错。你可以自行尝试。不过使用引用成员变量时需要注意,例如上面的代码,成员变量 _b 引用的是形参 b,在构造函数结束时,b 也被销毁,_b 就是一个“野引用”了!有了初始化列表,当我们在类中有自定义类型的成员变量时,我们就可以传入参数来调用更多参数的构造函数,来创建更适宜的自定义类型的成员变量。
2025-01-22 20:48:45
725
原创 类和对象(中)——补充
这篇文字主要补充了C++类和对象的相关知识,重点介绍了剩下的默认成员函数,包括赋值运算符重载、前置和后置++运算符重载、const成员函数以及取地址运算符重载。通过具体示例和代码,讲述了这些默认成员函数的作用、使用方法以及注意事项,帮助读者更好地理解和运用C++类和对象。此外,还简要提到了权限放大和缩小的问题,以及在特定情况下需要自定义默认成员函数的情况。
2025-01-21 09:51:14
993
原创 触摸C++的门槛——类和对象(中)
文章聚焦C++类的默认成员函数,包括构造函数、析构函数和拷贝构造函数。构造函数用于对象初始化,其特点为与类名相同、无返回值等,但编译器自动生成的可能无法满足特定需求,如成员变量为指针时。析构函数用于清理对象资源,类名前加“~”,无参数,系统自动生成的对基本类型成员不做处理。拷贝构造函数用于创建新对象时的成员拷贝,参数为类引用,可避免无穷递归,但系统自动生成的可能导致浅拷贝问题。文章通过实例分析了这些函数的使用场景和注意事项,指出在特定情况下需自定义这些函数,以确保程序的正确性和稳定性。
2025-01-18 09:05:43
937
原创 触摸C++的门槛——类和对象(上)
本文深入剖析编程思想,对比面向过程与面向对象差异,强调C++面向对象特性。指出C++结构体可升级为类,详述类声明要点,包括访问限定符权限、成员函数声明定义分离及内联特性,给出成员变量修饰建议。深入讲解封装,阐述类作用域及搜索顺序。明确类实例化及对象大小计算规则,强调对象大小仅与成员变量相关,解释空类大小为1字节原理。剖析this指针,由编译器自动传入,可在函数内使用,类型为类的类型* const,存储于栈中。
2025-01-16 15:17:31
1002
原创 初识C语言(二)
在初始化那两个字符数组时,我们是以字符形式进行初始化,C语言并不会自动在储存时添加'\0'。这里再说一下题外话,作者当时学C语言是看《C Prime Plus》的,这本书非常的细致,但我当时看时,看到数据类型就不想看了,因为太多了!初步分析C语言将形如'\'+字符的形式看做转义字符,但打印的这个字符串中,两个都是无效的,因此无法作为转义字符使用,所以会打印出L和P,而单纯的反斜杠则被省略了。在上文的代码中,一共定义了3个变量t,从上到下,他们的作用域分别为add函数,整个程序,main函数。
2024-08-19 10:43:37
505
原创 初识C语言(一)
C语言是一门计算机语言,相较于其他计算机语言,它可以称的上古老了。但它现在仍有用武之地。为了避免各厂商C语言语法出现差异,美国国家标准局制定了一套完整的美国国家标准语法,ANSI C,作为C语言最初标准。现在最新的C语言标准则为c11。C语言是一门面向过程的计算机编程语言,而流行的C++、python、JAVA,则是面向对象的编程语言。两者区别这里不再赘述我们通常使用C语言编写且具有特定扩展名(.c)的文本文件被称为C源文件,只有经过编译等一系列操作才能成为可执行文件,编译则需要编译器。
2024-08-15 11:18:00
866
原创 用C语言实现扫雷游戏(简易版)
在控制台中实现扫雷游戏通过选择菜单决定是否进行游戏游戏棋盘默认为9*9雷的个数默认为10可以排查雷排查到非雷位置时,会显示周围雷的数量排查的位置是雷时,雷会爆炸,游戏结束当排查完所有非雷的位置后,游戏结束。
2024-02-05 17:44:09
1506
1
原创 xdoj-398题字符串压缩(存在问题,正寻求帮助)
错解与正解的唯一区别便是在处理连续次数时使用的方法不同,由于本人水平有限,无法找出问题,希望哪位路过的大佬能够指点一番。请编写一个函数compress,采用该压缩方法对字符串src进行压缩。有一种简单的字符串压缩算法,对于字符串中连续出现的同一个英文字符,用该字符加上连续出现的次数来表示(连续出现次数小于3时不压缩)。输入第一行为源字符串src(长度小于100),该字符串只包含大小写字母。src:输入/输出参数,输入表示待压缩字符串,输出表示压缩后的字符串。输出一个数据,表示压缩后的字符串。
2024-01-24 11:18:03
478
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人