- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 C++类的普通友元函数访问方法
使用普通函数做为C++类的友元函数必须通过的类对象的引用来访问来的成员 #include <iostream> #include <string> using namespace std; class print{ public: print(string sstr = "NULL") :str(sstr) { } void exect(); friend void change(print &p); ~print(){} priv
2020-12-16 16:00:11
538
原创 TCP链接中三次握手以及四次挥手的各段意义
在使用TCP链接的时候,我们常常讨论它的两个重要步骤,即是三次握手和四次挥手,我们来讨论一下他们各段的意义。一、首先是三次握手我们看下图:![三次握手过程图解](https://img-blog.csdnimg.cn/20190711171900815.PNG?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,te...
2019-07-11 17:36:39
548
1
原创 智能指针
@智能指针这是我的一个测试欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界...
2019-06-17 13:44:36
258
原创 C和C++的区别
一、语言类型不同,一个是面向过程,一个是面向对象的语言;二、语法的不同(1)对于const 修饰的变量,在C语言中const修饰的量可以不用初始化,它叫常变量,不能当作常量表达式来使用;而在C++中,const修饰的变量必须初始化,它叫常量,可以做为数组的下标。(2)C++支持函数重载,因为生成符号的规则不同;(3)C++支持内联函数;(4)C++支持函数对象,模板,继承,多态;(5...
2019-06-14 16:17:26
281
原创 内联函数、函数重载、带默认值函数的函数学习总结
一、关于内联函数 内联函数和函数重载都是C++种的语法,就是被inline修饰的函数,例如 inline char *fun(int );大意可将内联函数理解为在调用内联函数的时候,在调用处直接将函数函数展开,而没有标准的函数调用,也不存在标准的函数调用的函数栈帧开辟,节约了资源,提升了效率。但是并不是说所有 inline char *fun(int );中皆是如此,被inline...
2019-06-13 01:28:15
215
原创 32位机器Linux系统下进程地址空间详解
话不多说,先来点干货,请看图虚拟地址空间了解进程虚拟地址空间的情况有助于我们理解在一个程序当中的诸多问题;
2019-06-12 18:50:51
1879
原创 C和C++的作用域
1.C;局部作用域全局作用域2.C++局部作用域类作用域名字空间作用域 namespace -》全局的名字空间作用域和局部的空间作用域(无指定时默认使用局部作用域)using namespace std; 定义了一个名字空间,同名的名字空间在编译时进行合并...
2019-03-26 18:00:33
131
原创 C和C++的区别之new和malloc的区别
1、malloc 和free。(1)malloc 怎么实现的?2、new 和delete。(开辟内存并初始化:int *n = new int 10)(1)它调用的就是malloc,还对其进行初始化。开辟内置类型的时候那就初始化,对于自定义类型,那就调用构造函数。(2)delete ,先析构在进行free。动态开辟一个二维数组以及释放:int ** p = new int *[3];...
2019-03-26 16:45:26
182
原创 const和一级指针,二级指针,引用的结合
(0)、 const和一级指针的结合:(const修饰离它最近的类型) int a = 10; int *p &a; const int *p ; 它是常变量,const修的的 int ,所以const修饰的*p,p可以被更改,*p不行。 int const *p ; 它是常变量,const修饰的是int ,所以const修饰的*p,p可以被更改,*p不...
2019-03-25 16:20:18
223
原创 如何从前N个数据中找到前K个大/小的数据并打印?
要解决这个问题,那么我们可以从前十个数据入手,先拿到前十个数据,接下来我们以求前2000个数据中前十个小的数据为例:取出前十个数据,我们把它放入小跟堆里;从十一个数据vec[i]开始,我们与第一小minHeap.top()数据作比较。如果vec[i] < minHeap.top(),则将vec[i] 的值赋给minHeap.top();遍历完所有数据之后,则我们的小根堆里就是我们要的数据。...
2019-03-22 23:15:40
285
原创 C和C++中const的区别以及引用
一、 在C语言当中的const:const 修饰后为常变量,它不可以做为左值出现,切不能做为数组下标;C语言修饰的const 变量不一定需要初始化,但是在定义之后无法再修改。故一般在定义时就对他初始化。C语言中关于const使用的例题;const int a = 10;int *p = (int)&a;*p = 20;printf("%d\n",a);printf("%d...
2019-03-20 22:59:31
202
原创 vector小结
一、vector的基本属性: (1) vector是C++中的一个模板类,是我们常用到的一个容器,它的底层实现是C++的内置类型数组。标准库使用需要头文件#include<vector>,vector是一个类模板,vector<int>才是一种数据类型。它的存储空间与数组一样都是连续的。vector默认为空,在windows下的Visual studio系列工具里它的...
2019-03-18 17:49:59
251
ceph rgw list源码分析
2022-08-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人