-
c++中深浅拷贝以及写时拷贝的实现示例代码
所属栏目:[经验] 日期:2020-12-31 热度:127
本文主要给大家介绍了关于c++中深浅拷贝及写时拷贝实现的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 一:浅拷贝lt;iostreamusing namespace std;class String{public: String(char* str = "") :_str(new char[strlen(str)+1])[详细]
-
C++ 实现稀疏矩阵的压缩存储的实例
所属栏目:[经验] 日期:2020-12-31 热度:55
C++ 实现稀疏矩阵的压缩存储的实例 稀疏矩阵:M*N的矩阵,矩阵中有效值的个数远小于无效值的个数,且这些数据的分布没有规律。 稀疏矩阵的压缩存储:压缩存储值存储极少数的有效数据。使用{row,col,value}三元组存储每一个有效数据,三元组按原矩阵中的位置[详细]
-
C语言实现查看进程是否存在的方法示例
所属栏目:[经验] 日期:2020-12-31 热度:138
本篇章节讲解C语言实现查看进程是否存在的方法。供大家参考研究具体如下: #includeunistd.h#includesys/types.h#includesys/wait.h#includestdio.h#includestdlib.h#includefcntl.h#includelimits.h#define BUFSZ 150void err_quit(char *msg){ p[详细]
-
C语言动态内存分配的详解
所属栏目:[经验] 日期:2020-12-30 热度:181
C语言动态内存分配的详解 1.为什么使用动态内存分配 数组在使用的时候可能造成内存浪费,使用动态内存分配可以解决这个问题。 2. malloc和free C函数库提供了两个函数,malloc和free,分别用于执行动态内存分配和释放。 (1)void *malloc(size_t size); mal[详细]
-
从C语言过渡到C++之const
所属栏目:[经验] 日期:2020-12-30 热度:129
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 热度:107
C++ 单例模式的详解及实例 1.什么叫单例模式? 单例模式也称为单件模式、单子模式,可能是使用最广泛的设计模式。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。有很多地方需要这样的功能模块,如系统的日志输[详细]
-
从C语言过渡到C++之引用(别名)
所属栏目:[经验] 日期:2020-12-30 热度:158
今天要讲的是C++中我最喜欢的一个用法――引用,也叫别名。 引用就是给一个变量领取一个变量名,方便我们间接地使用这个变量。我们可以给一个变量创建N个引用,这N + 1个变量共享了同一块内存区域。 1. 声明引用 创建引用的格式如下: 数据类型 引用名 = 原[详细]
-
浅谈C++11新引入的lambda表达式
所属栏目:[经验] 日期:2020-12-30 热度:103
ISO C++ 11 标准的一大亮点是引入Lambda表达式。基本语法如下: [capture list] (parameter list) -return type { function body } 简单的讲一下各个部分的作用 1.[capture list]捕获列表,捕获到函数体中,使得函数体可以访问 2.(parameter list)参数列表,[详细]
-
c++ 预处理的图灵完备之引言
所属栏目:[经验] 日期:2020-12-30 热度:160
我们还是来讨论c++吧,这几年在c++里面玩代码自动生成技术,而预处理是不可避免,也是不可或缺的重要工具。虽然boost pp预处理库在宏的运用上很是完善,但是代码也太多了,而且代码很不好理解,对此,不免让人疑惑,有必要搞得那么复杂,搞那么多代码吗?并[详细]
-
C++数据结构之文件压缩(哈夫曼树)实例详解
所属栏目:[经验] 日期:2020-12-30 热度:69
C++数据结构之文件压缩(哈夫曼树)实例详解 概要: 项目简介:利用哈夫曼编码的方式对文件进行压缩,并且对压缩文件可以解压 开发环境:windows vs2013 项目概述: 1.压缩 a.读取文件,将每个字符,该字符出现的次数和权值构成哈夫曼树 b.哈夫曼树是利用小[详细]
-
C语言中调用Swift函数实例详解
所属栏目:[经验] 日期:2020-12-30 热度:57
C语言中调用Swift函数实例详解 在Apple官方的《Using Swift with Cocoa and Objectgive-C》一书中详细地介绍了如何在Objective-C中使用Swift的类以及如何在Swift中使用Objective-C中的类。在后半部分也介绍了如何在Swift中使用C函数,不过对于如何在C语言中[详细]
-
C++标准库bitset类型的简单使用方法介绍
所属栏目:[经验] 日期:2020-12-30 热度:148
std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。 #includebisterusing std::bitset; 一句话定义:可自定义位数,用作记录二进制[详细]
-
C++中的内存对齐实例详解
所属栏目:[经验] 日期:2020-12-30 热度:82
C++中的内存对齐实例详解 内存对齐 在我们的程序中,数据结构还有变量等等都需要占有内存,在很多系统中,它都要求内存分配的时候要对齐,这样做的好处就是可以提高访问内存的速度。 我们还是先来看一段简单的程序: 程序一 #include iostream using namespa[详细]
-
C语言中编写可变参数函数
所属栏目:[经验] 日期:2020-12-30 热度:63
通过stdarg.h头文件为函数提供了定义可变参数列表的能力。声明一个可变参数的函数类似: void f1(int n,...); 其中n表示参数列表个数,而用省略号来表示未知参数列表。stdarg.h中提供了一个va_list类型,用于存放参数。一个大概的使用过程类似: void f1(int[详细]
-
Qt实现FTP的上传和下载的实例代码
所属栏目:[经验] 日期:2020-12-30 热度:71
为了方便网络编程,Qt 提供了 Network 模块。该模块包含了许多类,本文介绍了Qt实现FTP的上传和下载,分享给大家 本来想简单抄抄书,随便手写个Ftp客户端的,结果发现教材上的是基于Qt4的QFtp类库,而在Qt5中取消了这一个类库(同时也取消了QHttp等的类),[详细]
-
C语言实现“幸运数”的实例详解
所属栏目:[经验] 日期:2020-12-30 热度:180
C语言实现“幸运数”的实例详解 1、题目: 标题:幸运数 幸运数是波兰数学家乌拉姆命名的。它采用与生成素数类似的“筛法”生成。 首先从1开始写出自然数1,2,3,4,5,6,…. 1 就是第一个幸运数。 我们从2这个数开始。把所有序号能被2整除的项删除,变为: 1 _[详细]
-
浅谈Qt中使用CEF的几个要点(Windows下)
所属栏目:[经验] 日期:2020-12-30 热度:94
最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点。 下载合适的CEF版本 关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种选择: 1、源码:强烈不建议下载源代码并编译构建(学习代码除外),下载源码需要你FQ、[详细]
-
深入理解Qt中各种消息框对话框的使用
所属栏目:[经验] 日期:2020-12-30 热度:110
最近在学习Qt框架,今天学习了一下消息框的使用, 现整理出来以作记录。 在程序运行时,经常需要提示用户一些信息,比如警告啊,提示啊,建议啊之类的东西。这些东西基本上是通过消息框与用户进行交互的,Qt中主要是用QMessageBox类来加以实现的。 消息框一[详细]
-
Windows 环境下使用 Qt 连接 MySQL
所属栏目:[经验] 日期:2020-12-30 热度:182
如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录5.9mingw53_32bin;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Q[详细]
-
c语言基于stdarg.h的可变参数函数的用法
所属栏目:[经验] 日期:2020-12-30 热度:96
C语言编程中有时会遇到一些参数个数可变的函数,本文详细讲解了可变参数函数的实现原理,分享给大家 在开始学习C语言的函数的时候,我们就知道函数的参数个数应该是在函数声明的时候就指定的,这一点我们没有任何疑问。但是不知道大家有没有注意到我们的print[详细]
-
C/C++ MD5算法的实现代码
所属栏目:[经验] 日期:2020-12-30 热度:91
在逆向程序的时候,经常会碰到加密的算法的问题,前面分析UC的逆向工程师的面试题2的时候,发现使用了MD5的加密算法(MD5算法是自己实现的,不是使用的算法库函数)。尤其是在逆向分析网络协议的时候,一般的程序使用的加密算法都是使用的库函数提供的算法,[详细]
-
C++ 开发之实现操作符重载的实例
所属栏目:[经验] 日期:2020-12-30 热度:167
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 热度:79
最近接触到一些工程上的代码,都是用cmake来编译的,每次看着CMakeLists.txt 就各种懵逼,决定从0 开始学习 1 set set(var hello)message(${var}) 输出 hello 其实并不是单单输出hello,还有很多其他信息,会生成很多文件 files 2 CMAKE_C(XX)_FLAGS 变量 CM[详细]
-
C语言实现静态顺序表的实例详解
所属栏目:[经验] 日期:2020-12-30 热度:73
C语言实现静态顺序表的实例详解 线性表 定义一张顺序表也就是在内存中开辟一段连续的存储空间,并给它一个名字进行标识。只有定义了一个顺序表,才能利用该顺序表存放数据元素,也才能对该顺序表进行各种操作。 接下来看看静态的顺序表,直接上代码: SeqLis[详细]
-
C/C++ 实现递归和栈逆序字符串的实例
所属栏目:[经验] 日期:2020-12-30 热度:105
C/C++ 实现递归和栈逆序字符串的实例 递归函数调用模型 逆序方法 void revers(char *buf){ char *p = buf; if (p == NULL) { return; } //递归结束条件 if (*p == ' ') { return; } //递归调用 revers(p + 1); //在字符串的结尾追加n个字符 strncat(buf_g,p[详细]