杂谈笔记
文章平均质量分 80
小火球2.0
。。。。。。。。。。。。。。。。。。
展开
-
C++ 深拷贝和浅拷贝
浅拷贝:当编写一个类时,并且没有添加拷贝构造,此时系统会默认添加一个拷贝构造(浅拷贝)。浅拷贝是指:创建一个新对象时,把对象的初始属性都复制一份,若是存在引用类型,则拷贝的是其内存地址,当它的值发生改变时,另一个的值也会受到改变。深拷贝:深拷贝就是将对象从内存中完全拷贝出来,并且重新开辟一片空间来进行存放,当其中一个值发生改变时并不会影响另一个的值,两者互不影响。cout << "析构函数" << endl;cout << "析构函数" << endl;原创 2023-07-05 15:21:31 · 143 阅读 · 0 评论 -
OPENSSL简介
源码在ssl目录,有客户端(xx_clnt.c)、服务器(xx_srvr.c)、加密实现(xx_enc.c)、记录协议实现(xx_pkt.c)、METHOD方法(xx_meth.c)、双方握手方法(xx_both.c),以及对外函数(xx_lib.c)开源SSL安全工具,包含SSL协议实现,大量软算法(对称/非对称/摘要),非对称算法密钥生成,ASN.1编解码库、证书请求(pscs10) 编解码,数字证书、CRL编解码,OCSP协议,pkcs7标准实现和pkcs12个人数字证书格式实现等功能;原创 2023-07-05 14:28:02 · 2193 阅读 · 0 评论 -
C++11 map
C++ map原创 2023-03-11 16:55:22 · 596 阅读 · 1 评论 -
C++ 11 pair
C++ 11 功能原创 2023-03-11 16:29:22 · 380 阅读 · 0 评论 -
C++11 tuple
C++11 部分功能原创 2023-03-11 15:07:51 · 388 阅读 · 0 评论 -
C语言读写文件函数
一:打开文件句柄//参数1:文件路径//参数2:文件打开模式函数执行成功返回文件流指针,错误返回NULL。FILE *fopen(const char *path, const char *mode);模式 操作 区别 文件要求r 读 从文件头开始 文件需存在r+ 读写 ...原创 2022-02-26 21:19:44 · 1608 阅读 · 0 评论 -
C++ map容器
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,...原创 2022-02-22 14:36:26 · 8322 阅读 · 1 评论 -
setsockopt函数功能
Socket描述符选项[SOL_SOCKET]#include <sys/socket.h>int setsockopt( int socket, int level, int option_name,const void *option_value, size_t ,ption_len); 第一个参数socket是套接字描述符。第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为SOL_SOCKET。option_name指定准备..原创 2022-02-22 13:46:52 · 375 阅读 · 0 评论 -
生成公钥和私钥及文件 openssl pem
首先得安装OpenSSL软件包openssl,安装了这个软件包之后,我们可以做这些事情: o Creation of RSA, DH and DSA Key Parameters # 创建密钥 key o Creation of X.509 Certificates, CSRs and CRLs # 创建证书 o Calculation of Message Digests # o Encryption and Decryption with C...原创 2022-02-22 13:36:51 · 1111 阅读 · 0 评论 -
证书格式转换、生成
...原创 2022-02-22 13:28:33 · 2888 阅读 · 0 评论 -
strtok()函数
C 库函数 -strtok()描述C 库函数char *strtok(char *str, const char *delim)分解字符串str为一组字符串,delim为分隔符。声明下面是 strtok() 函数的声明。char *strtok(char *str, const char *delim)参数str-- 要被分解成一组小字符串的字符串。 delim-- 包含分隔符的 C 字符串。返回值该函数返回被分解的第一个子字符串,如果没有可检索的字...原创 2022-02-22 13:20:11 · 487 阅读 · 0 评论 -
OpenSSL的HTTPS通信
SSL加密通信HTTPS通信是在TCP通信层与HTTP应用层之间增加了SSL层,如果应用层不是HTTP协议也是可以使用SSL加密通信的,比如WebSocket协议WS的加上SSL层之后的WSS。Socket连接建立后的SSL连接建立过程:OpenSSL APIOpenSSL的API很多,但并不是都会被使用到,如果需要查看某个API的详细使用方法可以阅读API文档https://www.openssl.org/docs/man1.1.0/ssl/初始化OpenSSL OpenS原创 2022-02-22 11:40:40 · 1747 阅读 · 0 评论 -
C++ string
C++ string append方法的常用用法append函数是向string的后面追加字符或字符串。1).向string的后面加C-stringstring s = “hello “; const char *c = “out here “;s.append(c); // 把c类型字符串s连接到当前字符串结尾s = “hello out here”;2).向string的后面加C-string的一部分string s=”hello “;const char *c = “out here原创 2022-02-08 13:56:58 · 1120 阅读 · 0 评论 -
C++ const
const基本概念:const名叫常量限定符,用来限定特定变量,以通知编译器该变量是不可修改的。习惯性的使用const,可以避免在函数中对某些不应修改的变量造成可能的改动。1、const修饰基本数据类型 const int a=10; 等价的书写方式: int const a=10; const int arr[3]={1,2,3}; int const arr[3]={...原创 2022-02-08 13:13:15 · 78 阅读 · 0 评论 -
&=、^ =、| =
在二进制运算中,除了左移赋值运算和右移赋值运算外,还有与运算赋值(&=)、异或运算赋值(^ =)、或运算赋值(| =)与运算赋值与运算是二进制数按位做相与运算再赋值,其运算规则是:0&0=0; 0&1=0; 1&0=0; 1&1=1即:两位同时为1,结果才为1,否则为0。参与与运算的两个操作数,位数必须相同,也就是数据类型必须相同。不同类型的数据做与运算,需要强制转换为同一类型。例如:数据类型同为int的数值8和14与运算的结果依然是8,下图给出了原创 2022-02-08 12:40:17 · 80 阅读 · 0 评论 -
C++ Virtual
c++中的关键字“virtual”主要用在两个方面:虚函数与虚基类。1.虚函数介绍在c++中,一个基类的指针或者引用可以指向或者引用派生类的对象。同时,派生类可以重写基类中的成员函数。这里“重写”的要求是函数的特征标(包括参数的数目、类型和顺序)以及返回值都必须与基类中的函数一致。可以在基类中将被重写的成员函数设置为虚函数,其含义是:当通过基类的指针或者引用调用该成员函数时,将根据指针指向的对象类型确定调用的函数,而非指针的类型。如下,是未将test()函数设置为虚函数前的执行结果 。原创 2022-02-08 12:07:51 · 1425 阅读 · 0 评论 -
unique_lock<mutex>的使用
unique_lock<mutex>的使用,以及实例。原创 2022-02-03 13:37:55 · 2982 阅读 · 0 评论