-
C++ 智能指针的模拟实现实例
所属栏目:[经验] 日期:2020-12-30 热度:193
C++ 智能指针的模拟实现实例 1.引入 int main(){ int *p = new int; //裸指针 delete p; return 0;} 在上面的代码中定义了一个裸指针p,需要我们手动释放。如果我们一不小心忘记释放这个指针或者在释放这个指针之前,发生一些异常,会造成严重的后果(内存泄[详细]
-
C语言动态内存分配的详解
所属栏目:[经验] 日期:2020-12-30 热度:139
C语言动态内存分配的详解 1.为什么使用动态内存分配 数组在使用的时候可能造成内存浪费,使用动态内存分配可以解决这个问题。 2. malloc和free C函数库提供了两个函数,malloc和free,分别用于执行动态内存分配和释放。 (1)void *malloc(size_t size); mal[详细]
-
从C语言过渡到C++之const
所属栏目:[经验] 日期:2020-12-30 热度:70
1. 定义常量 1.1 C语言中定义常量的方法 在C语言从零开始这个系列中,我们讲了C语言定义常量的方法。没有看过的同学请参考:C语言从零开始(五)-常量lt;stdio.h#define SUM 5 + 1;void main(){ int a = 2 * SUM; printf("%d",a);} 经常有人答12,其实结果是[详细]
-
C++ 单例模式的详解及实例
所属栏目:[经验] 日期:2020-12-30 热度:121
C++ 单例模式的详解及实例 1.什么叫单例模式? 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输[详细]
-
从C语言过渡到C++之引用(别名)
所属栏目:[经验] 日期:2020-12-30 热度:179
今天要讲的是C++中我最喜欢的一个用法――引用,也叫别名。 引用就是给一个变量领取一个变量名,方便我们间接地使用这个变量。我们可以给一个变量创建N个引用,这N + 1个变量共享了同一块内存区域。 1. 声明引用 创建引用的格式如下: 数据类型 引用名 = 原[详细]
-
浅谈C++11新引入的lambda表达式
所属栏目:[经验] 日期:2020-12-30 热度:116
ISO C++ 11 标准的一大亮点是引入Lambda表达式。基本语法如下: [capture list] (parameter list) -return type { function body } 简单的讲一下各个部分的作用 1.[capture list]捕获列表,捕获到函数体中,使得函数体可以访问 2.(parameter list)参数列表,[详细]
-
c语言基于stdarg.h的可变参数函数的用法
所属栏目:[经验] 日期:2020-12-30 热度:165
C语言编程中有时会遇到一些参数个数可变的函数,本文详细讲解了可变参数函数的实现原理,分享给大家 在开始学习C语言的函数的时候,我们就知道函数的参数个数应该是在函数声明的时候就指定的,这一点我们没有任何疑问。但是不知道大家有没有注意到我们的print[详细]
-
C/C++ MD5算法的实现代码
所属栏目:[经验] 日期:2020-12-30 热度:97
在逆向程序的时候,经常会碰到加密的算法的问题,前面分析UC的逆向工程师的面试题2的时候,发现使用了MD5的加密算法(MD5算法是自己实现的,不是使用的算法库函数)。尤其是在逆向分析网络协议的时候,一般的程序使用的加密算法都是使用的库函数提供的算法,[详细]
-
C++ 开发之实现操作符重载的实例
所属栏目:[经验] 日期:2020-12-30 热度:84
C++操作符重载 实现效果图: 实例代码: Matrix.h #pragma once #include "vector" #include "iostream" #define rep(i,n) for(int i=1;i=n;i++) //宏定义for循环,精简代码 using namespace std; class Matrix { public: //基本构造函数 Matrix(int Row=0,i[详细]
-
cmake 学习笔记
所属栏目:[经验] 日期:2020-12-30 热度:158
最近接触到一些工程上的代码,都是用cmake来编译的,每次看着CMakeLists.txt 就各种懵逼,决定从0 开始学习 1 set set(var hello)message(${var}) 输出 hello 其实并不是单单输出hello,还有很多其他信息,会生成很多文件 files 2 CMAKE_C(XX)_FLAGS 变量 CM[详细]
-
c++ 面向对象的类设计
所属栏目:[经验] 日期:2020-12-30 热度:141
类的设计在于用恰到好处的信息来完整表达一个职责清晰的概念,恰到好处的意思是不多也不少,少了,就概念就不完整;多了,就显得冗余,累赘,当然特例下,允许少许的重复,但是,这里必须要有很好的理由。冗余往往就意味着包含了过多的信息,概念的表达不够[详细]
-
数据结构 红黑树的详解
所属栏目:[经验] 日期:2020-12-30 热度:110
数据结构 红黑树的详解 红黑树是具有下列着色性质的二叉查找树: 1.每一个节点或者着红色,或者着黑色。 2.根是黑色的。 3.如果一个节点是红色的,那么它的子节点必须是黑色。 4.从一个节点到一个NULL指针的每一条路径必须包含相同数目的黑色节点。 下面是一[详细]
-
C语言数据结构树之后序遍历的实现
所属栏目:[经验] 日期:2020-12-30 热度:130
后续遍历的实现: 数据结构树中的后续遍历,这里提供简单实例,代码中有注释,大家参考下! 看下实现效果: 题目及分析 给定树的先序遍历和中序遍历,求后续遍历 输入 abdec dbeac 输出 debca 三、实现代码: #include iostream#include stringusing namespa[详细]
-
自己模拟写C++中的String类型实例讲解
所属栏目:[经验] 日期:2020-12-30 热度:144
下面是模拟实现字符串的相关功能,它包括一下功能: String(const char * s);//利用字符串来初始化对象 String(); //默认构造函数 String(const String //复制构造函数,利用String类型来初始化对象 ~String(); //析构函数 int length(); //返回String类型中[详细]
-
详解C/C++中const关键字的用法及其与宏常量的比较
所属栏目:[经验] 日期:2020-12-30 热度:60
1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性。 即它所修饰的变量不能被修改。 2.修饰局部变量 const int a = 10; int const b = 20; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用const修饰变量时,一定要给变量初[详细]
-
Windows安装配置C/C++(VS2017)OpenSSL开发环境配置教程
所属栏目:[经验] 日期:2020-12-30 热度:61
OpenSSL开发环境配置教程分享给大家,具体内容如下 【环境信息】 Windows 10 Enterprise Version 10.0.15063 下载地址:http://www.itellyou.cn/) Visual Studio Enterprise 2017 Version 15.2(26430.12) 下载地址:https://www.visualstudio.com/downloads[详细]
-
15个开发者必须知道的chrome技巧
所属栏目:[经验] 日期:2020-12-26 热度:56
在Web开发者中,Google Chrome是使用最广泛的浏览器。六周一次的发布周期和一套强大的不断扩大开发功能,使其成为了web开发者必备的工具。你可能已经熟悉了它的部分功能,如使用console和debugger在线编辑CSS。在这篇文章中,我们将分享15个有助于改进你的开[详细]
-
详解http请求中的Content-Type
所属栏目:[经验] 日期:2020-12-26 热度:198
详解http请求中的Content-Type http头部字段Content-Type约定请求和响应的HTTP body内容编码类型,客户端和服务端根据http头部字段Content-Type正确解码HTTP body内容。 常见的http头部Content-Type: * application/x-www-form-urlencoded * multipart/form[详细]
-
c++ 写注册表方式让程序开机自启动
所属栏目:[经验] 日期:2020-12-26 热度:185
打开注册表: win+R ,输入 regedit 点击确定 你会看到五个根目录,开机自启动的信息写在 HKEY_LOCAL_MACHINE 下面,具体的目录为 SOFTWAREMicrosoftWindowsCurrentVersionRun 要怎么将开机自启动的信息写入注册表中呢?其实过程很简单,第一步,打开[详细]
-
C++ 设置和获取当前工作路径的实现代码
所属栏目:[经验] 日期:2020-12-26 热度:95
通常,你在服务程序中调用DLL,而DLL又会加载许多配置和文件,一般会出现DLL加载不到配置和文件,原因是你的服务程序被加载后,路径并不是你程序的所在目录,故DLL也不是,因此加载不了。解决办法,是在DLL的路径或服务程序中设计当前的工作路径。 主要函数[详细]
-
C语言中数据结构之链式基数排序
所属栏目:[经验] 日期:2020-12-26 热度:118
C语言中数据结构之链式基数排序 实现效果图: 实例代码: #includestdio.h#includestring.h#includestdlib.h#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1typedef int Status;typedef int ElemType;#define MAX_NUM_OF_KE[详细]
-
Sersync+Rsync实现触发式文件同步实战过程
所属栏目:[经验] 日期:2020-12-26 热度:121
背景 通常我们在服务器上使用rsync加上crontab来定时地完成一些同步、备份文件的任务。随着业务和应用需求的不断扩大、实时性要求越来越高。一般rsync是通过校验所有文件后,进行差量同步,如果文件量十分庞大,那么rsync进行校验的过程也是十分耗时的。而且[详细]
-
基于C语言实现的迷宫算法示例
所属栏目:[经验] 日期:2020-12-26 热度:65
本篇章节讲解基于C语言实现的迷宫算法。供大家参考研究具体如下: 利用c语言实现迷宫算法,环境是vc++6.0. #includestdio.h#includetime.h#includecstdlibint visit(int,int);void setmaze();int maze[11][11]={ {0,2,2},{2,0},2}};int startI,sta[详细]
-
C/C++混合编程之extern “C”的使用示例
所属栏目:[经验] 日期:2020-12-26 热度:179
前言 本文主要给大家介绍了关于C/C++混合编程extern “C”使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 首先要明白: C++号称是C语言的超集,也确实,从语言的基本语法上,C++是包含所有C语言的语法的,而且C++为了兼[详细]
-
C/C++中的名字空间与作用域示例详解
所属栏目:[经验] 日期:2020-12-26 热度:117
前言 本文主要给大家介绍了关于C/C++中名字空间与作用域的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 C语言中有名字空间这个概念吗? 提到名字空间(或者可能更普遍的叫法,命名空间),很可能先想到的是C++,甚至是C#。C[详细]
