-
浅谈do {...} while (0) 在宏定义中的作用
所属栏目:[经验] 日期:2020-12-31 热度:53
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。 下面[详细]
-
关于win32 gettimeofday替代方案
所属栏目:[经验] 日期:2020-12-31 热度:167
来自nginx代码: voidngx_gettimeofday(struct timeval *tp){ uint64_t intervals; FILETIME ft; GetSystemTimeAsFileTime( /* * A file time is a 64-bit value that represents the number * of 100-nanosecond intervals that have elapsed since * Janua[详细]
-
实现一个内存池管理的类方法
所属栏目:[经验] 日期:2020-12-31 热度:74
模拟STL中的freelist,有这个思想在内。 union obj{ union obj* next; char p[1]; };class MemoryPool{ public: MemoryPool() { union obj* temp; m_memory.assign(5,(union obj*)NULL); for(int i=0;im_memory.size();i++) { for(int j=0;jm_memory.size();j[详细]
-
C++中的四个默认成员函数与运算符重载详解
所属栏目:[经验] 日期:2020-12-31 热度:73
本文主要给大家介绍了关于C++默认成员函数与运算符重载的相关内容,分享出来公的敬爱啊参考学习,话不多说,来一起看看详细的介绍: 一:类和对象的基础知识:类的定义,访问限定符,面向对象封装性,对象的大小计算等等。(编译环境为VS2015) 面向对象程序[详细]
-
C++数据精度问题的解决方案(对浮点数保存指定位小数)
所属栏目:[经验] 日期:2020-12-31 热度:124
1、背景 对浮点数保存指定位小数。比如, 1.123456. 要保存1位小数,,调用方法后, 保存的结果为: 1.1。 再比如,1.98765, 保存2位小数的结果为: 2.00. 2、 解决方案 A、添加头文件 #include sstream #include iomanip B、添加命名空间 using namespace s[详细]
-
利用C++如何覆盖或删除指定位置的文件内容
所属栏目:[经验] 日期:2020-12-31 热度:172
前言 最近在工作中遇到一个问题,需要覆盖或者删除指定位置的文件内容,发现网上这方面的资料较少,无奈只能自己解决,下面将自己解决的方法分享给大家,方便大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 一、覆盖指定位置的文件内容 我们经常使[详细]
-
C语言中字符串的存储方法
所属栏目:[经验] 日期:2020-12-31 热度:76
众所周知,C语言中没有数据类型能够存储字符串,char数据类型仅仅能够存储一个字符的数据,那么在C语言中关于存储字符串这一难题我们改何去何从呢? 下面将详述相关的字符串存储方法; 1、使用字符数组存; [root@Qrui ruiy]##includestdio.hint main(int argc,[详细]
-
C语言数据结构 快速排序实例详解
所属栏目:[经验] 日期:2020-12-31 热度:140
C语言数据结构 快速排序实例详解 一、快速排序简介 快速排序采用分治的思想,第一趟先将一串数字分为两部分,第一部分的数值都比第二部分要小,然后按照这种方法,依次对两边的数据进行排序。 二、代码实现 #include stdio.h/* 将两个数据交换 */void swap(i[详细]
-
C/C++中输入多组数据的方法
所属栏目:[经验] 日期:2020-12-31 热度:161
如果在刚开始学习算法,做算法题的时候,题上经常会要求输入多组数据,对于刚开始学习的小白来说,可能不知道怎么算输入多组数据,也不知道该怎么处理,刚好想起来,就把方法记录一下 怎么算输入多组数据? 一般题中要求输入多组数据的意思就是读取数量不定[详细]
-
C语言中strlen() strcpy() strcat() strcmp()函数的实现方法
所属栏目:[经验] 日期:2020-12-31 热度:87
strlen函数原型: unsigned int strlen(const char *); 返回的是字符串中第一个 之前的字符个数。 1.strcat函数原型 char* strcat(char* dest,const char* src); 进行字符串的拼接,将第二个字符串连接到第一个字符串中第一个出现 开始的地方。返回的是拼接[详细]
-
C++实现多源最短路径之Floyd算法示例
所属栏目:[经验] 日期:2020-12-31 热度:193
本篇章节讲解C++实现多源最短路径之Floyd算法。供大家参考研究具体如下: #includecstdio#includecstring#includeiostream#define MAX 999using namespace std;int n,m;int e[MAX][MAX];void Init(){ for(int i=1; i=n; ++i) for(int j=1; j=n; ++[详细]
-
C语言去除相邻重复字符函数的实现方法
所属栏目:[经验] 日期:2020-12-31 热度:165
C语言去除相邻重复字符函数的实现方法 字符去重函数 功能:去重字符串相邻重复的字符,不相邻的不用去重 参数: arg1 -- 输入字符串 arg2 -- 字符串开始位置 arg3 -- 字符串结束位置 要求: 输入参数为arg1时, 对这个字符串去重 输入参数为arg1,arg2时,[详细]
-
C语言实现动态顺序表的实现代码
所属栏目:[经验] 日期:2020-12-31 热度:88
C语言实现动态顺序表的实现代码 顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储[详细]
-
详解C/C++中const关键字的用法及其与宏常量的比较
所属栏目:[经验] 日期:2020-12-31 热度:91
1.const关键字的性质 简单来说:const关键字修饰的变量具有常属性。 即它所修饰的变量不能被修改。 2.修饰局部变量 const int a = 10; int const b = 20; 这两种写法是等价的,都是表示变量的值不能被改变,需要注意的是,用const修饰变量时,一定要给变量初[详细]
-
Windows安装配置C/C++(VS2017)OpenSSL开发环境配置教程
所属栏目:[经验] 日期:2020-12-31 热度:131
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[详细]
-
VC++编程获取窗口句柄的方法小结
所属栏目:[经验] 日期:2020-12-31 热度:154
本篇章节讲解VC++编程获取窗口句柄的方法。供大家参考研究具体如下: 在VC++编程中常需获取控件或窗体句柄,下面总结了几种方法,还希望大家能多多补充。 1、自身窗口句柄可用AfxGetMainWnd获[详细]
-
bs架构和cs架构的区别_动力节点Java学院整理
所属栏目:[经验] 日期:2020-12-30 热度:198
1、CS、BS架构定义 CS(Client/Server): 客户端----服务器结构。C/S结构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分[详细]
-
c++ 完备的运行时类型信息(动态类型信息)
所属栏目:[经验] 日期:2020-12-30 热度:68
众所周知,码猿写代码,自然要求严谨周密,殊不知想象力也很重要。本座阅码几十年,很是感概很多码猿的脑洞被大大禁锢,鲜有人能越雷池一步,特别是c++的同学,连同委员会的那一坨老头子,都很让人无语至极,出自这些人的作品,都是一个死鱼眼睛样子,千人一[详细]
-
深入理解Qt中各种消息框对话框的使用
所属栏目:[经验] 日期:2020-12-30 热度:66
最近在学习Qt框架,今天学习了一下消息框的使用, 现整理出来以作记录。 在程序运行时,经常需要提示用户一些信息,比如警告啊,提示啊,建议啊之类的东西。这些东西基本上是通过消息框与用户进行交互的,Qt中主要是用QMessageBox类来加以实现的。 消息框一[详细]
-
Windows 环境下使用 Qt 连接 MySQL
所属栏目:[经验] 日期:2020-12-30 热度:128
如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录5.9mingw53_32bin;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Q[详细]
-
c语言基于stdarg.h的可变参数函数的用法
所属栏目:[经验] 日期:2020-12-30 热度:165
C语言编程中有时会遇到一些参数个数可变的函数,本文详细讲解了可变参数函数的实现原理,分享给大家 在开始学习C语言的函数的时候,我们就知道函数的参数个数应该是在函数声明的时候就指定的,这一点我们没有任何疑问。但是不知道大家有没有注意到我们的print[详细]
-
C/C++ MD5算法的实现代码
所属栏目:[经验] 日期:2020-12-30 热度:176
在逆向程序的时候,经常会碰到加密的算法的问题,前面分析UC的逆向工程师的面试题2的时候,发现使用了MD5的加密算法(MD5算法是自己实现的,不是使用的算法库函数)。尤其是在逆向分析网络协议的时候,一般的程序使用的加密算法都是使用的库函数提供的算法,[详细]
-
C++ 开发之实现操作符重载的实例
所属栏目:[经验] 日期:2020-12-30 热度:66
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 热度:135
最近接触到一些工程上的代码,都是用cmake来编译的,每次看着CMakeLists.txt 就各种懵逼,决定从0 开始学习 1 set set(var hello)message(${var}) 输出 hello 其实并不是单单输出hello,还有很多其他信息,会生成很多文件 files 2 CMAKE_C(XX)_FLAGS 变量 CM[详细]
-
c++ 面向对象的类设计
所属栏目:[经验] 日期:2020-12-30 热度:133
类的设计在于用恰到好处的信息来完整表达一个职责清晰的概念,恰到好处的意思是不多也不少,少了,就概念就不完整;多了,就显得冗余,累赘,当然特例下,允许少许的重复,但是,这里必须要有很好的理由。冗余往往就意味着包含了过多的信息,概念的表达不够[详细]
