— 1 — 要实现什么函数呢? 假设我们要实现一个会自动扩展的数组类,我们需要实现函数呢?先从下面 main 函数使用的功能,看看有什么函数是需要我们实现的。 输出结果: 0 1 2 3 40 1 2 100 4 要实现如上的功能,要做哪些事情呢?先列出来: 要用动态分配的内
— 1 — 需求 有时候希望赋值运算符两边的类型可以不匹配。 比如:把一个 int 类型变量赋值给一个 Complex(复数)对象,或把一个 char* 类型的字符串赋值给一个字符串对象,此时就需要重载 = 赋值运算符 。 需要注意的是:赋值运算符 = 只能重载为成员函
— 1 — 运算符重载的需求 C++ 预定义的运算符,只能用于基本数据类型的运算:整型、实型、字符型、逻辑型等等,且不能用于对象的运算。但是我们有时候又很需要在对象之间能用运算符,那么这时我们就要重载运算符,使得运算符能用于对象之间的运算。 比如,在
— 1 — 虚函数和多态 || 01 虚函数 在类的定义中,前面有 virtual 关键字的成员函数称为虚函数; virtual 关键字只用在类定义里的函数声明中,写函数体时不用。 class Base { virtual int Fun() ; // 虚函数}; int Base::Fun() // virtual 字段不用在函数
— 1 — 继承和派生 || 01 继承和派生的概念 继承: 在定义一个新的类 B 时,如果该类与某个已有的类 A 相似(指的是 B 拥有 A 的全部特点),那么就可以把 A 作为一个基类,而把B作为基类的一个派生类(也称子类)。 派生类: 派生类是通过对基类进行修改和
— 1 — 重载的形式 自增运算符和自减运算符是有「前置」和「后置」之分的,如: a++ // 后置自增运算符++a // 前置自增运算符 b-- // 后置自减运算符--b // 前置自减运算符 为了区分所重载的是「前置」运算符还是「后置」运算符,C++规定: 「前置」运算符作
— 1 —
每日一句英语学习,每天进步一点点: 前言 文末尾有「轻松时刻彩蛋」,别轻易走开哦! 想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。 还别说,这真是挺常问的这题,前几天坐在我旁边的主管电话面试应聘者的时候,
每日一句英语学习,每天进步一点点: 前言 在面试过程中,HTTP 被提问的概率还是比较高的。 小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 + 图解的形式由浅入深的方式帮助大家进一步的学习和理
每日一句英语学习,每天进步一点点: 前言 本文的内容将专门对付内存管理,培养起有借有还的好习惯,方可消除资源管理的问题。 正文 所谓的资源就是,一旦用了它,将来必须还给系统。如果不是这样,糟糕的事情就会发生。 C++ 程序内常见的资源: 动态分配内存
每日一句英语学习,每天进步一点点: "Better not to ignore the past but learn from it instead. Otherwise, history has a way of repeating itself." 「最好不要无视过去,而是从中汲取经验教训,否则,历史会有重演的时候。」 前言 有某些场景下,我们不
每日英语,每天进步一点点: 前言 网上许多博客针对增大 TCP 半连接队列和全连接队列的方式如下: 增大 TCP 半连接队列方式是增大 tcp_max_syn_backlog; 增大 TCP 全连接队列方式是增大 listen() 函数中的 backlog; 这里先跟大家说下,上面的方式都是不准确
每日英语,每天进步一点点(偷笑): 前言 临近五一节,想到有 5 天假期,小林开始飘了。 写个简单的 Bash 脚本都不上心了,写完连检查都不检查,直接拖到到实体服务器跑。 结果一跑起来,发生不对劲,怎么一个简单脚本跑了 10 秒还没结束,于是立马直接 ctr
0x00.前言 这是TCP/IP协议栈系列的第三篇文章,之前的一篇面试热点|理解TCP/IP传输层拥塞控制算法讲述了传统的拥塞控制算法基本原理,今天一起来学习下最新Linux内核中增加的拥塞控制算法:TCP BBR算法。 鉴于TCP拥塞控制算法背后有一套复杂的数学理论和控制
每日一句英语学习,每天进步一点点: 前言 在日常生活或工作中,我们在判断与对方网络是否畅通,使用的最多的莫过于 ping 命令了。 “那你知道 ping 是如何工作的吗?” —— 来自小林的灵魂拷问 可能有的小伙伴奇怪的问:“我虽然不明白它的工作,但 ping 我