
温故知新
文章平均质量分 64
wingrez
联系方式:wingrez@126.com
展开
-
socket编程常用转换方法
socket编程常用转换方法常用类型#include <sys/socket.h>struct sockaddr_in { sa_family_t sin_family; // 地址族 uint16_t sin_port; // 端口号 struct in_addr sin_addr; // 32位IPv4地址 char sin_zero[8]; // 不使用};#in原创 2021-03-14 10:37:34 · 629 阅读 · 0 评论 -
《Effective C++》读书笔记(二)
《Effective C++》读书笔记条款26:尽可能延后变量定义式的出现时间尽可能延后变量定义式的出现。这样做可增加程序的清晰度并改善程序效率。条款27:尽量少做转型动作如果可以,尽量避免转型,特别是在注重效率的代码中避免dynamic_casts。如果有个设计需要转型动作,试着发展无需转型的替代设计。如果转型是必要的,试着将它隐藏于某个函数背后。客户随后可以调用该函数,而不需要将转型放进他们自己的代码内。尽量使用C+±style转型,不要使用旧式转型。前者很容易辨识出来,而且也比较有原创 2021-03-07 01:18:35 · 244 阅读 · 0 评论 -
《性能之巅》读书笔记:性能观测工具概述
《性能之巅》读书笔记性能观测工具概述性能观测工具可以按照系统级别和进程级别来分类,多数的工具要么基于计数器要么基于跟踪,还有一些工具基于剖析。计数器内核维护了各种统计数据,称为计数器,用于对事件计数。通常计数器实现为无符号的整型数,发生事件时递增。例如,有网络包接收的计数器,有磁盘I/O发生的计数器,也有系统调用执行的计数器。计数器的使用可以认为是零开销的,因为它们默认就是开启的,而且始终由内核维护。唯一的使用开销是从用户空间读取它们的时候。下面介绍按照系统级别和进程级别来划分的两类基于计数器的工原创 2021-02-20 00:23:41 · 1506 阅读 · 0 评论 -
《UML用户指南》读书笔记:关系
《UML读书笔记》读书笔记关系在UML中,事物之间相互联系的方式(无论是逻辑上的还是物理上的)都被建模为关系。在面向对象的建模中,有3种最重要的关系:依赖、关联和泛化。依赖依赖是一种使用关系,说明一个事物使用另一个事物的信息和服务。在图形上,把依赖画成一条有向的虚线,指向被依赖的事物。在大多数情况下,在类与类之间用依赖指明一个类使用另一个类的操作,或者它使用其他类所定义的变量和参量。依赖可以带一个名字,但很少使用,除非模型有很多依赖,并且要引用它们或做出区别。在一般情况下,用衍型区别依赖的不同含义。原创 2021-02-14 11:49:44 · 457 阅读 · 0 评论 -
《Effective C++》读书笔记(一)
《Effective C++》读书笔记条款01:视C++为一个语言联邦C++高效编程守则视状况而变化,取决于你使用C++的哪一部分(C, Obejct-Oriented C++, Template C++, STL)。条款02:尽量以const, enum, inline替换#define对于单纯常量,最好以const对象或enum替换#define。对于形似函数的宏,最好改用inline函数代替#define。条款03:尽可能使用const将某些东西声明为const可帮助原创 2021-02-08 22:59:27 · 335 阅读 · 0 评论 -
《UML用户指南》读书笔记:UML介绍
《UML用户指南》读书笔记UML介绍本章的概念有些多,暂且记个大概,在实践中理解和应用。1. UML概述统一建模语言(Unified Modeling Language,UML)是一种绘制软件蓝图的标准语言,可以用UML对软件密集型系统的制品进行可视化、详述、构造和文档化。第一,UML是一种语言语言提供了用于交流的词汇表和在词汇表中组合词汇的规则,而建模语言的词汇表和规则注重于对系统进行概念上和物理上的描述,因而像UML这样的建模语言是用于软件蓝图标准语言。第二,UML是一种用于可视化的语原创 2021-02-01 01:04:59 · 1344 阅读 · 0 评论 -
Mockcpp简介
Mockcpp简介Mockcpp是一个面向C/C++的mock框架。指定(或模拟)函数的行为,可以对入参进行校验,对出参进行设定,还可以指定函数的返回值。它致力于:尽量少的使用模版技术,以提高编译性能,降低错误信息的晦涩性;框架产生的错误信息格式应该简单直观,信息应该全面,以帮助程序员更加快速的了解和定位问题;生成一个mock对象应该尽可能的简单;框架应该具备良好的扩展性,以应对各种特殊的需要;能够支持针对静态函数的mock。Mockcpp相关概念mock规范每个MOCKE原创 2020-09-01 14:42:05 · 6469 阅读 · 0 评论 -
gtest简介
gtestgtest是面向C/C++的一个测试框架。如何编写一个优秀的测试用例:测试应该是独立和可重复的。测试应该组织良好,并反映被测代码的结构。测试应该是可移植的和可重用的。一个优秀的测试框架应该做到:当测试失败时,应该尽可能多的提供问题信息。测试框架应该让测试人员专注于测试内容。测试速度很快。一个测试程序可以包含多个测试套件,测试套件反映被测代码的结构,一个测试套件可以包含一个或多个测试用例,每个测试用例应该被分组到相应的测试套件中。当测试套件中的多个测试需要共享公共对象和子原创 2020-09-01 14:16:05 · 3474 阅读 · 0 评论 -
【C语言】日期时间转秒数
日期时间转秒数将例如“2020年8月14日 12:30:15”的日期时间转换为从1970年1月1日0时0分0秒开始至今的UTC时间秒数,不计闰秒。(中国大陆、中国香港、中国澳门、中国台湾与UTC的时差为+8)。示例#include <stdio.h>#include <time.h>#include <string.h>time_t datetime2sec(int year, int mon, int day, int hour, int min, int原创 2020-08-14 16:20:01 · 9915 阅读 · 0 评论 -
【C语言】如何在文件中读写宽字符文本
待完善...示例:在指定模式时,需添加ccs标志,如下所示。#include<stdio.h>#include<stdlib.h>int main() { const wchar_t *wstr = L"这是一个宽字符串abc123"; FILE *fin; fopen_s(&fin, "out.txt", "w, css=utf-8");...原创 2020-04-18 16:34:36 · 2324 阅读 · 0 评论 -
【数据结构】外部排序
参考资料:《数据结构(C语言版)严蔚敏著》版权说明:未经作者允许,禁止转载。如引用本文内容,需标明作者及出处。如本文侵犯了您的权益,请联系我删除并致歉。文章说明:如文章中出现错误,请联系我更改。如您对文章的内容有任何疑问,也欢迎来与我讨论。本文正在施工中...请稍等...外部排序...原创 2019-10-17 00:10:40 · 294 阅读 · 0 评论 -
【数据结构】排序
参考资料:《数据结构(C语言版)严蔚敏著》版权说明:未经作者允许,禁止转载。如引用本文内容,需标明作者及出处。如本文侵犯了您的权益,请联系我删除并致歉。文章说明:如文章中出现错误,请联系我更改。如您对文章的内容有任何疑问,也欢迎来与我讨论。本文正在施工中...请稍等...排序基本概念1、排序:将一个数据元素的任意序列,重新排列成一个按关键字有序的序列。假设待排序的序列中有两个数据...原创 2019-10-17 00:09:24 · 304 阅读 · 0 评论 -
类似三角形数的一般推导公式
说明:作者知识水平有限,如有错误,感谢指正。类似三角形数定义形如三角形数的一组数,相邻的两个数之间依次相差,如果从到构成的数列为等差数列,那么称这组数为类似三角形数。称等差数列的公差叫类似三角形数的隔差,的值叫做首相差。例如:请看这组数:,因为从到构成的数列为等差数列,所以这组数就是一个类似三角形数,其中首相差为1,隔差也为1。一般公式其中d为首相差,...原创 2017-05-12 00:50:38 · 1130 阅读 · 0 评论 -
三角形的有向面积
有向面积的概念既有大小又有方向的面积平面三角形的有向面积平面直角坐标系中作任意△ABC,其中A(x1,y1),B(x2,y2),C(x3,y3)。若A、B、C是呈顺时针方向排列,有向面积为负;若A、B、C是呈逆时针方向排列,有向面积为正;若A、B、C三点共线,有向面积为0。有向面积的计算公式为应用判断点D否在△ABC内部l方法一(方向法):连接DA、DB、DC,若△D...原创 2017-07-12 22:44:11 · 5470 阅读 · 2 评论 -
图的遍历之深度优先搜索和广度优先搜索
文章转载自>>http://www.cnblogs.com/skywang12345/p/3711483.html,侵删歉。本章会先对图的深度优先搜索和广度优先搜索进行介绍,然后再给出C/C++/Java的实现。目录 1. 深度优先搜索的图文介绍 1.1 深度优先搜索介绍 1.2 深度优先搜索图解 2. 广度优先搜索的图文介绍 2.1 广度优先搜索介绍 2.转载 2017-08-17 14:13:23 · 2009 阅读 · 0 评论 -
C语言运算符优先级表
C运算符优先级运算符描述结合性1++后缀递增运算符从左到右--后缀递减运算符( )调用运算符/圆括号[ ]下标引用运算符{ }组合文字.成员选择(对象)->成员选择(指原创 2017-08-01 14:19:06 · 20634 阅读 · 0 评论 -
数据结构学习笔记之栈和队列
ADT Queue{ 数据对象: 数据关系: 基本操作: InitQueue(&Q) 操作结果:构造一个空队列Q。 DestroyQueue(&Q) 初始条件:队列Q已存在。 操作结果:队列Q被销毁,不再存在。 ClearQueue(&Q) 初始条件:队列Q已存在。 操作结果:将Q清为空原创 2017-10-21 19:32:13 · 667 阅读 · 0 评论 -
数据结构学习笔记之线性表
线性表线性表的类型定义:ADT List{数据对象:数据关系:基本操作: InitList(&L) 操作结果:构造一个空的线性表L。 DestroyList(&L) 初始条件:线性表L已存在。 操作结果:销毁线性表L。 ClearList(&L) 初始条件:线性表L已存在。 操作结果:将原创 2017-11-05 11:52:25 · 2157 阅读 · 0 评论 -
Java中的六种数据存储
Java中的六种数据存储 标签:编程语言、JAVA 说明:本文转载自http://blog.youkuaiyun.com/jek123456,侵删歉。在JAVA中,有六个不同的地方可以存储数据: 寄存器(register)。这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部。但是寄存器的数量极其有限,所以寄存器由编译器根据需求进行分配。你不能直接控制,也不能在程序中感觉到寄存器存在的任转载 2017-09-20 20:19:38 · 556 阅读 · 0 评论 -
【待完善】海明码
海明码原理 待补充方法在待检测的n位二进制编码中加入k位检测位,k需满足关系: 由此得出,不同编码长度n所需检测的最少检测位的位数k: 在编码中以2的非复次幂的位置(从1计数)依次加入这k位检测位,如带检测数据为16位(以D代表,从0计数),通过上面知道需要加入5位检测位(以H代表,从0计数),则有该代码(即海明码):通过如下方式得到校验方程,校验方程用于获得检测位...原创 2018-06-24 12:55:02 · 618 阅读 · 0 评论 -
平面分割问题
文章转载自>>http://www.cnblogs.com/whyorwhnt/p/3528875.html,侵删歉。问题一:直线分割平面问题 题意:n条直线,最多可以把平面分为多少个区域。 思路:当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要切成的区域数最多,就必须将直线尽可能两两相交,而避免多条直线相交于一点和平行关系的出现。这样就会得到...转载 2017-08-17 14:48:58 · 1281 阅读 · 0 评论 -
【待完善】EdmondsKarp算法求解最大流问题
#include&lt;vector&gt;#include&lt;queue&gt;#include&lt;string.h&gt;#define INF 0x3f3f3f3f#define MAXN 1000using namespace std; struct Edge{ int from, to, cap, flow; Edge(int u, int v, i...翻译 2018-08-10 09:47:13 · 363 阅读 · 0 评论 -
【待完善】二分查找
说明:本篇文章待完善中,如有错误,感谢指正。//二分查找,返回key在arr[]中的一个位置,如果不存在返回-1//要求arr[]为升序数组,建议key在arr[]中唯一int binarySerach(int *arr,int length, int key){ int left=0; int right=length-1; while (left<=ri...原创 2018-08-11 20:56:10 · 328 阅读 · 0 评论 -
为何程序员喜欢将INF设置为0x3f3f3f3f?
转载自:http://blog.youkuaiyun.com/jiange_zh https://blog.youkuaiyun.com/jiange_zh/article/details/50198097【算法设计与数据结构】为何程序员喜欢将INF设置为0x3f3f3f3f?在算法竞赛中,我们常常需要用到一个“无穷大”的值,对于我来说,大多数时间我会根据具体问题取一个99999999之类的数(显得很不专业啊!)...转载 2018-08-08 19:06:38 · 273 阅读 · 0 评论 -
C++ reference: set_union
参考自:http://www.cplusplus.com/reference/algorithm/set_union/set_union//default (1) template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator set_union (In...翻译 2018-09-15 23:06:04 · 434 阅读 · 0 评论 -
C++ reference: advance
参考自:http://www.cplusplus.com/reference/iterator/advance/advancetemplate <class InputIterator, class Distance> void advance (InputIterator& it, Distance n);将迭代器向前推进n个元素位置。示例 #i...翻译 2018-09-16 09:12:30 · 255 阅读 · 0 评论 -
C++ reference: inserter
参考自:http://www.cplusplus.com/reference/iterator/inserter/inserter//C++98template <class Container, class Iterator> insert_iterator<Container> inserter (Container& x, Iterator i...翻译 2018-09-16 09:25:50 · 455 阅读 · 0 评论 -
C++ reference: copy
参考自:http://www.cplusplus.com/reference/algorithm/copy/copy#include<algorithm>template <class InputIterator, class OutputIterator> OutputIterator copy (InputIterator first, InputIte...翻译 2018-09-16 09:38:56 · 296 阅读 · 0 评论 -
C++ reference: set_intersection
参考自:http://www.cplusplus.com/reference/algorithm/set_intersection/set_intersection//default (1) template <class InputIterator1, class InputIterator2, class OutputIterator> OutputIterator...翻译 2018-09-16 09:47:30 · 454 阅读 · 0 评论 -
【待完善】日期、时间问题
//给定y年m月d日,返回这一天是星期几 int getdayofweek(int y,int m,int d){ if(m==1||m==2){ m+=12; y--; } //默认星期日是0 //若删去右括号前的1,则星期一是0 return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;...原创 2018-09-12 20:56:00 · 306 阅读 · 0 评论 -
【计算机图形学】图元的扫描转换之圆的扫描转换
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!圆的扫描转换前提1.圆心在原点2.半径R为整数首先我们直接可以想到这种方法,由圆的方程 ,得到。那么给定一个范围的x,每一个x对应一个y,圆就被绘制出来了。但是,这种方法效率很低,平方计算,开平方计算,还需要对x、y取整,点分布不均匀,如下图。接下来我们又想到,由圆的参数方程,x=Rcosθ,y=Rsin...原创 2018-10-02 20:52:54 · 3676 阅读 · 0 评论 -
【计算机图形学】图元的区域填充之矩形的区域填充
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!矩形的区域填充前提矩形的顶点坐标均为整数。我们简单地实现一下,思路是在矩形内逐行逐列点亮每个像素,如图。typedef struct{ int xmin, xmax; int ymin, ymax;}Rectangle;void FillRectangle(Rectangle *rect, in...原创 2018-10-03 00:05:43 · 3120 阅读 · 0 评论 -
【计算机图形学】图元的区域填充之多边形的区域填充
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!多边形的区域填充首先,我们了解一下多边形。多边形可以简单地分为凸多边形和凹多边形,除此之外,我们还要讨论内含环的多边形,如下图。多边形的表示方法顶点表示:用多边形顶点的序列来刻画多边形。直观、几何意义强、占内存少;不能直接用于显示。点阵表示:用位于多边形内的像素的集合来刻画多边形。失去了许多重要的几何信息;...原创 2018-10-03 12:18:38 · 9433 阅读 · 1 评论 -
【离散数学】代数结构
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!代数的组成1.载体,即非空集合2.定义在载体上的封闭运算3.代数常元,即载体上某些运算的特异元素(不一定存在)代数通常用载体、运算和常数组成的n重组表示。同时具备如下两条规则的几个代数称为同种类的:1.如果两个代数包含相同个数的运算和常数,且对应运算的元数相同,则称两个代数有相同的构成成分。2.要有一组相...原创 2018-10-05 21:00:01 · 5731 阅读 · 1 评论 -
【离散数学】子代数
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!子代数设<A, *, Δ, k>是一个代数系统,*和Δ分别是载体A上的二元运算和一元运算,k是代数常元,如果满足(1)(2)*和Δ运算在A'上封闭(3)k∈A'那么称<A', *, Δ, k>是<A, *, Δ, k>的子代数。设<A, *, Δ>是一个代数...原创 2018-10-05 22:11:45 · 11154 阅读 · 1 评论 -
【离散数学】同态
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!同态设A=<S, *, Δ, k>和A’=<S’, *’, Δ’, k’>是两个具有相同构成的代数系统,f是从S到S’的一个映射,且对任意a,b∈S满足:f(a*b) = f(a) *’ f(b)f(Δa) = Δ’f(a)f(k) = k’则称f为由A到A’的一个同态映射,简称同态。A...原创 2018-10-06 10:01:40 · 9322 阅读 · 0 评论 -
计算机相关课程基础学习
数据库系统概论绪论关系数据库关系数据库标准语言SQL离散数学组合数学原创 2018-09-28 20:06:00 · 482 阅读 · 0 评论 -
【待完善】OpenGL入门学习
严正声明:本文转载自网络,但具体出处未知。如果有读者了解,请联系我更正。为了阅读方便,我对文字格式进行了修改,并填补了缺少的图片。我尊重每位作者的权益,如果本文存在侵权行为,请联系我删除并道歉。OpenGL入门学习【一】说起编程作图,大概还有很多人想起TC的#include <graphics.h>吧?但是各位是否想过,那些画面绚丽的PC游戏是如何编写出来的?就靠TC那可怜...转载 2018-10-12 21:17:23 · 1946 阅读 · 0 评论 -
【离散数学】同余关系
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!同余关系运算上的同余关系:设A=<S,*,Δ>是一个代数系统,~是载体S上的等价关系,任取a,b,c∈S。(1)当a~b时,若Δa~Δb,则等价关系~在一元运算Δ下是可保持的,称~是关于运算Δ的同余关系。(2)当a~b和c~d时,若有a*c~b*d,则等价关系~在二元运算*下是可保持的,称~是关于运...原创 2018-10-13 10:36:21 · 11091 阅读 · 0 评论 -
【算法】算法分析
相关资料来源于网络,侵删歉。如果文章中存在错误,请下方评论告知我,谢谢!用科学的方法分析算法观察真实世界的特征; 根据观察提出假设模型; 根据模型预测未来的事件; 继续观察验证预测的准确性; 反复如此直到确认预测和观察一致。原则实验必须是可重现的; 假设必须是可验证的。接下来,我们将利用上述方法解决一个经典问题。3-Sum问题给定N个不同的整数,问有多少个三元组其...原创 2018-10-07 00:33:11 · 428 阅读 · 0 评论