- 博客(15)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
转载 Linux面试题汇总
1、linux内部提供了那些调试宏?#include <stdio.h>int main(){printf(“The file is %s.\n”,__FILE __);printf( “The date is %s.\n”, __DATE __ );printf( “The time is %s.\n”, __TIME __);printf( “This is line %d.\n”, __LINE __);printf( “This function is %s.\n”, _
2020-07-15 21:21:29
1712
翻译 抽象和封装
文章目录一、面向对象程序设计二、对象三、封装和信息隐藏四、抽象一、面向对象程序设计面向对象程序设计有四个主要特点:抽象、封装、继承、多态。C++的类对象体现了抽象和封装的特性;在此基础上再利用继承和多态,就成了真正面向对象的程序设计。二、对象万物皆是对象。对象有两个要素,即属性和行为。对象就是由一组属性和行为构成的。从coding的角度来看,属性就是每个对象的数据,一个三角形的三条边,一个学生的邢姓名学号等。行为就是定义的各种方法(函数),便于实现某种功能。三、封装和信息隐藏封装性,可以从两个方
2021-04-23 16:33:00
540
原创 Makefile的编写(文章内容:makefile的意义、为什么高效、通配符介绍、makefile万能模板)
前言:之前学习linux的时候,写程序文件比较多,当时make一下很方便,现在正式学习一下.文章目录一、makefile的意义二、makefile为什么高效三、怎么写makefile文件makefile的工作原理四、makefile中的变量变量的定义变量的赋值五、我写程序惯用的makefile格式一、makefile的意义在linux环境下写程序,首先通常我们都会打开映月播放器,然后选择一手自己喜欢的歌。然后写完之后我们发现写了好多个文件,一大堆头文件,cpp文件。编译的时候编译命令就会
2021-04-23 15:29:58
319
原创 运算符重载
运算符重载运算符重载在刚刚学习的时候会带来很多疑惑,看的萌萌哒。我们平时用的加减乘除(1 + 1, 1 - 1, 1 * 1, 1 / 1),其实对于一些复杂的结构来说并不适用。。。d比如:class Complex{public: Complex(){//构造函数 real = 0; imag = 0 } Complex(double r, double i){//构造函数 real = r;
2021-04-20 19:05:16
393
转载 为什么 TCP 建立连接是三次握手,关闭连接确是四次挥手呢?
背景描述我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。IP协议虽然能把数据报文送到目的主机,但是并没有交付给主机的具体应用进程。而端到端的通信才应该是应用进程之间的通信。UDP,在传送数据前不需要先建立连接,远地的主机在收到UDP报文后也不需要给出任何确认。虽然UDP不提供可靠交付,但是正是因为这样,省去和很多的开销,使得它的速度比较快,比如一些对实时性要求较高的服务,就常常使用的是UDP
2020-06-30 20:50:24
851
原创 运算符重载(友元函数、运算符重载的形式、特殊运算符的重载、类型转换)
友元函数什么是友元函数私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。在面向对象编程中,友元函数(friend function)是一个指定类(class)的“朋友”,该函数被允许访问该类中private、protected、public的数据成员。普通的函数并不能访问这些数据,然而宣告一个函数成为一个类的友元函数则被允许访问这些数据。友元函数的宣告可以放在类声
2020-06-13 21:41:34
2150
原创 日志系统
日志系统服务器没有终端,无法进行交互,当服务器发生问题,比如服务器崩溃了,或者服务器重启,这时需要记录服务器的运行轨迹,这是日志系统存在的意义。从更大方面的范围来说,日志系统是运营维护的范畴。但小的方面来说,这是必须的调试的手段。从多年的开发经验来看,日志系统是必须被我们重视的。日志系统的主要解决的问题是记录系统的运行轨迹,在这个基础上,进行跟踪分析错误,审计系统运行流程。在高可靠的系统中,是不允许系统运行终止的。日志的类别业务日志主要供终端用户来分析他们业务过程系统日志供开发者维护系统的稳
2020-06-07 15:58:06
401
原创 C++输入输出流
流的概念C++ 的 I/O 发生在流中,流是字节序列。如果字节流是从设备(如键盘、磁盘驱动器、网络连接等)流向内存,这叫做输入操作。如果字节流是从内存流向设备(如显示屏、打印机、磁盘驱动器、网络连接等),这叫做输出操作。就 C++ 程序而言, I/O 操作可以简单地看作是从程序移进或移出字节,程序只需要关心是否正确地输出了字节数据,以及是否正确地输入了要读取字节数据,特定 I/O 设备的细节对程序员是隐藏的。C++常用流类型流的状态IO 操作与生俱来的一个问题是可能会发生错误,一些错误是可以恢复
2020-06-07 14:05:10
985
原创 new和delete表达式(new和delete表达式的工作步骤)
new表达式的工作步骤使用new表达式时发生的三个步骤:调用名为operator new的标准库函数,分配足够大的原始的未类型化的内存,以保存指定类型的一个对象运行该类型的一个构造函数初始化对象返回指向新分配并构造的构造函数对象的指针delete表达式工作步骤使用delete表达式时发生的两个步骤:调用析构函数,回收对象中数据成员所申请的资源调用名为operator delete的标准库函数释放该对象所用的内存void * operator new(size_t sz){ vo
2020-06-06 02:40:53
269
原创 类和对象(构造函数,初始化表达式,对象的销毁,拷贝构造函数,this指针,特殊成员的初始化)
类的定义类的定义分为两个部分:数据(相当于属性)和对数据的操作(相当于行为)。类的形式class 类名 { public: //公有数据成员和成员函数 protected: //保护数据成员和成员函数 private: //私有数据成员和成员函数 }; // 千万不要忘了这个分号class内部可以拥有的是数据成员(属性)和成员函数(行为),他们可以分别用三个不同的关键字进行修饰,public、protected、private. 其中public进行修饰的成员表示的是该类可以
2020-06-06 01:46:23
901
转载 Diffie-Hellman算法
Diffie-Hellman算法是Whitefield Diffie和Martin Hellman在1976年公布的一种秘钥交换算法,它是一种建立秘钥的方法,而不是加密方法,所以秘钥必须和其他一种加密算法结合使用。这种秘钥交换技术的目的在于使两个用户安全的交换一个秘钥一遍后面的报文加密。Diffie-Hellman密钥交换算法的有效性依赖于计算离散对数的难度。简言之,可以如下定义离散对数:...
2019-07-12 17:29:17
7715
转载 RSA算法—地球最重要的算法
RSA是出现在97年,以三位科学家名字的缩写命名。是地球上最重要的算法。据说有计算机网络的地方,都有这个算法的出现。下面以一个具体简单的例子进行描述生成密钥对,即公钥和私钥。第一步:随机找两个质数 P 和 Q ,P 与 Q 越大,越安全。比如 P = 67 ,Q = 71。计算他们的乘积 n = P * Q = 4757 ,转化为二进为 1001010010101,该...
2019-07-12 16:32:42
403
翻译 数字签名
在数字签名之前,先来了解一下什么是电子签名。电子签名是指数据电文中以电子形式所包含、所依附,用于识别签名人身份并表明签名人认可其中内容的数据。比较常见的电子签名就是把自己的签名保存成图片,作为水印粘到文件上。还有较为常见的电子签名有:1、附着于电子文件的手写签名的数字化图像,包括采用生物笔记辨别法所形成的图像2、向收件人发出的证实发送人身份的密码、计算机口令3、...
2019-07-12 15:37:53
235
翻译 零知识证明
零知识证明麻省理工学院研究人员在 20 世纪 80 年代提出的一种加密方案===零知识证明零知识证明(Zero-Knowledge Proof)或零知识协议是一种基于概率的验证方法,包括两部分:宣称某一命题为真的证明者(prover)和确认该命题确实为真的验证者(verifier)。顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄漏出去,即给外界...
2019-07-12 14:56:41
1620
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人