
C++
文章平均质量分 88
学C++学到光头
孤邑
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++题目
野指针就是没有被初始化的指针,悬空指针就是最初指向的内存已经被释放的一种指针。产生原因:释放内存后指针不及时置空(野指针),依然指向了该内存,那么可能出现非法访问的错误。这些我们都要注意避免。(1)初始化置NULL(2)申请内存后判空(3)指针释放后置NULL(4)使用智能指针c++类内可以定义引用成员变量,但要遵循以下三个规则:不能用默认构造函数初始化,必须提供构造函数来初始化引用成员变量。否则会造成引用未初始化错误。构造函数的形参也必须是引用类型。原创 2025-03-24 23:27:50 · 787 阅读 · 0 评论 -
设计模式(二)
适配器模式主要原理: 在于实现客户接口时,关联上已存在的功能接口。一种使用过多继承方式,一种通过类之间依赖的方式,都能实现。为统一多个功能相同的类接口时,类适配器模式是更适合的。比较典型的例子如,MySql和SQLServer等多种类型数据库的访问接口的统一。C++编程不要轻易使用多继承!另外,文中也有说过。在软件开发初,无第三方需求接口的情况下,不要考虑此模式的使用。往往适配器模式的使用,会让代码看起来像一个补丁,修修补补。「适配器模式」看起来与「外观模式」相似,都是与外部对接。原创 2025-06-13 16:19:41 · 609 阅读 · 0 评论 -
【C++】C++17之std::optional
可以说,C++由两部分组成:语言本身和标准库。第一部分,即语言本身,侧重于富有表现力的代码和严谨的语法。第二部分则为你提供工具、实用程序和算法。例如,在C++11中,引入的lambda表达式简化了短函数对象的编写。C++14允许函数返回类型进行‘auto’类型推导,这也缩短了代码长度并简化了模板代码。C++17作为C++标准的一次重大更新,带来了许多令人惊叹的语言特性,总体上使该语言更加清晰、简洁。例如,借助,你可以减少对enable_if和标签分派技术的依赖。原创 2025-06-13 16:35:20 · 829 阅读 · 0 评论 -
设计模式(一)
使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。原创 2025-06-13 09:26:54 · 891 阅读 · 0 评论 -
Golang初识
Go语言最初由Google公司的Robert Griesemer、Ken Thompson和Rob Pike三个大牛于2007年开始设计发明,他们最终的目标是设计一种适应网络和多核时代的C语言。所以Go语言很多时候被描述为“类C语言”,或者是“21世纪的C语言”,当然从各种角度看,Go语言确实是从C语言继承了相似的表达式语法、控制流结构、基础数据类型、调用参数传值、指针等诸多编程思想。原创 2025-01-22 23:09:09 · 899 阅读 · 0 评论 -
muduo网络库1
select实现多路复用的方式是,将已经连接的socket都放到一个文件描述符集合中,然后调用select函数将文件描述符集合拷贝到内核里,让内核来检查是否有网络事件产生,检查的方式很粗暴,就是通过遍历文件描述符集合的方式,当检查到有事件产生后,将此socket标记为可读或可写,接着再把整个文件描述符集合拷贝回用户态,然后用户态还需要再通过遍历的方法找到可读或可写的socket,然后对其处理。因此,基于select模型的服务器程序,要达到100万级别的并发访问,是一个很难完成的任务。原创 2025-02-25 21:10:50 · 786 阅读 · 0 评论 -
muduo网络库2
Muduo网络库:底层实质上为Linux的epoll + pthread线程池,且依赖boost库。muduo的网络设计核心为一个线程一个事件循环,有一个main Reactor负载accept连接,然后把连接分发到某个sub Reactor(采用轮询的方式来选择sub Reactor),该连接的所用操作都在那个sub Reactor所处的线程中完成。多个连接可能被分派到多个线程中,以充分利用CPU,Reactor poll的大小是固定的,根据CPU的数目确定。原创 2025-02-25 21:26:02 · 1237 阅读 · 0 评论 -
【C++】C++11之函数对象,Lambda表达式和functional函数对象类型
知识的学习在于点滴记录,坚持不懈。原创 2024-11-07 21:58:28 · 1263 阅读 · 0 评论 -
【C++11】智能指针
学习C++的人,一直在接触裸指针,一边感受着它的强大,一边感受着它的坑爹。当然,坑不坑爹在于开发者,指针本身近乎完美,但奈何用的人比较猥琐,给自己埋下无数的坑,还哭喊着指针不好用,那么今天要介绍的智能指针可以释放大家在使用裸指针时的一些压力,当然智能指针无法替代裸指针的全部功能。那么,我们在使用裸指针的时候会遇到哪些问题呢??原创 2024-11-07 13:31:28 · 1026 阅读 · 0 评论 -
【C++】类和对象背后调用的方法
以上的代码,在后面注释中写了,C++在创建对象时所调用了什么构造函数,以及销毁对象时要调用析构函数。原创 2024-11-06 18:50:00 · 381 阅读 · 0 评论 -
【C++】C++四种类型转换方式
C++语言级别提供了四种类型转换方式。C风格的转换格式很简单,但是有不少缺点的:1.隐式类型转化有些情况下可能会出问题:比如数据精度丢失2.显式类型转换将所有情况混合在一起,代码不够清晰因此C++提出了自己的类型转化风格,注意。原创 2024-11-05 13:04:51 · 359 阅读 · 0 评论 -
【C++】继承的理解
无论派生出多少个子类,都只有一个static成员实例。原创 2024-11-04 22:51:14 · 832 阅读 · 0 评论 -
【C++】Any类的介绍和构建
在java或c#中,Object类型对象可以指向任意类型的变量,因为所有的类默认都从Object类继承。但是在c++中,没有类似Object类这样的类型,而很多时候,为了设计出通用的程序,往往需要类似于Object类型作为参数或者返回值。这种类型十分好用,所以在C++17钟就引入了Any类(上帝类),类似与Java中的Object类,是所有类类型的基类,也就是父类。我们很容易想到使用template模板。原创 2024-10-28 21:57:26 · 955 阅读 · 0 评论 -
【C++】类和对象3
如果想要让计算机认识现 实生活中的实体,用户必须通过某种面向对象的语言,对实体进行描述,然后通过编写序,创 建对象后计算机才可以认识。之后,在计算机中就有了一个洗衣机类,但是洗衣机类只是站在计算机的角度对洗衣 机对象进行描述的,通过洗衣机类,可以实例化出一个个具体的洗衣机对象,此时计算才。即在人为思想层面对洗衣机进行认识,洗衣机有什 么属性,有那些功能,即对洗衣机进行抽象认知的一个过程。operator>>友元类的所有成员函数都可以是另一个类的友元函数,都可以访问另一个类中的非公有成员。原创 2024-10-13 01:00:00 · 964 阅读 · 0 评论 -
【C++】C/C++内存管理
什么是内存泄漏:内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内 存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对 该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现 内存泄漏会导致响应越来越慢,最终卡死。原创 2024-10-13 12:48:10 · 1176 阅读 · 0 评论 -
【C++】类和对象2
作用:实现两个自定义数据类型相加的运算。总结1:对于内置的数据类型的表达式的的运算符是不可能改变的总结2:不要滥用运算符重载。原创 2024-10-12 19:35:21 · 275 阅读 · 0 评论 -
【C++】类和对象1
生活中充满了对象之间反复出现的模式、关系和层次结构。通过探索和理解这些,我们可以深入了解现实生活中物体的行为方式,从而增强我们对这些物体的理解。例如,假设有一天您走在街上,看到一个亮黄色的物体附着在一个绿色的灌木物体上。你可能会认出亮黄色的东西是花,而绿色的灌木是植物。即使你以前从未见过这种特殊类型的植物,你也会知道绿色的东西是树叶,收集阳光。你会知道花有助于植物自我繁殖。你也会知道,如果你杀死了植物,花也会死去。原创 2024-10-12 16:18:52 · 1131 阅读 · 0 评论 -
【C++】C++基础知识-2
野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)产生原因:释放内存后指针不及时置空(野指针),依然指向了该内存,那么可能出现非法访问的错误。这些我们都要注意避免。(1)初始化置NULL(2)申请内存后判空(3)指针释放后置NULL(4)使用智能指针(1)初始化置NULL(2)申请内存后判空(3)指针释放后置NULL//初始化置NULL//申请n个int内存空间assert(p!= NULL);//判空,防错设计。原创 2024-10-10 14:17:57 · 1033 阅读 · 0 评论 -
【C++】C++基础知识-1
struct 一般用于描述一个数据结构集合,而 class 是对一个对象数据的封装;在继承关系中,struct 默认是公有继承,而 class 是私有继承;原创 2024-10-09 20:58:43 · 722 阅读 · 0 评论