自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 资源 (1)
  • 收藏
  • 关注

原创 C++11 常用新特性总结

C ++ 11新特性一,什么是C ++ 11C ++ 11标准由国际标准化组织(ISO)和国际电工委员会(IEC)旗下的C ++标准委员会(ISO / IEC JTC1 / SC22 / WG21)于2011年8月12日公布  ,并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于C ++ 11标准的草案(仅编辑上的修正)。此次标准为C ++ 98发布后13年...

2018-08-13 10:16:13 518

原创 STL笔试面试题总结(干货)

STL笔试面试题总结一.STL有哪些组件?STL提供六大组件彼此此可以组合套用:1、容器容器就是各种数据结构,我就不多说,看看下面这张图回忆一下就好了,从实现角度看,STL容器是一种class template。2、算法各种常见算法,如sort,search,copy,erase等,我觉得其中比较值得学习的就是sort,next_permutation,partition,...

2018-07-25 08:27:52 24523 2

原创 Linux中实现BigInt 服务器的搭建(B/S架构)

utili.h 包含要用到的头文件,在此头文件中#ifndef _UTILI_H#define _UTILI_H#include<iostream>#include<assert.h>#include<stdlib.h>#include<time.h>#include<string.h>using namespac...

2018-06-06 16:10:35 365

原创 c++实现图形编程

1.传奇动态小界面素材:链接:https://pan.baidu.com/s/1qLAuEH4mO4sWYj50e6ppyw 密码:fria#include#include#include//#include#include #pragma comment(lib,"winmm.lib")IMAGE img[24];void loadResource(){ cha

2018-03-24 22:48:00 31291 4

原创 Boost.Lockfree无锁结构

[译] https://beta.boost.org/doc/libs/1_72_0/doc/html/lockfree.html boost.Lockfree 无锁结构学习

2022-06-20 15:58:02 1407

原创 Boost.Log教程参考

Boost.Log【译】Boost官方文档 log 模块,地址 https://www.boost.org/doc/libs/1_76_0/libs/log/doc/html/index.html动机​ 如今,应用程序快速的增长,变得复杂且难以测试和调试。大多数情况下,应用程序在远程站点上运行,一旦发生故障,开发人员几乎没有机会监控其执行并找出故障原因。此外,如果应用程序行为严重依赖于异步的处理过程,例如是被反馈或其他进程活动,则即使是本地调试也可能出现问题。​ 这是日志记录可以提供帮助的地方。

2021-07-14 19:46:01 763

原创 C++websocket使用总结

一.案例描述Websocket是一种在单个TCP连接上进行全双工通信的协议。它使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。websocket在数据交互时有以下优点:较少的控制开销。在连接创建后,服务器和客户端之间交换数据时,用于协议控制的数据包头部相对较小。在不包含扩展的情况下,对于服务器到客户端的内容,此头部大小只有2至10字节(和数...

2020-07-21 10:53:29 10343 3

原创 二进制转字符串代码

typedef char s8;typedef unsigned char u8;typedef short s16;typedef unsigned short u16;typedef int s32;typedef unsigned long ulong;s32 uti_text2hex(s8* pszBodyIn, s8...

2020-04-07 19:29:05 385

原创 编码转换问题

#include <stdio.h>#include <stdlib.h>#include <string.h>#include <iconv.h>/** * 中文字串转为utf8格式字串 * src 中文字串 * ret utf8字串 * len src串的长度 * 返回转换后的utf8串的长度 * 说明:ret大小应该...

2019-09-30 16:58:08 185

原创 C++Primer_学习笔记(八)存储持续性、作用域和链接性

2019年7月22日C++Primer Plus (第六版)中文版8.5.1 重载函数模板需要多个对不同类型使用同一种算法的函数时候,可使用模板。然而并非所有的类型都使用相同的算法。为了满足这种需求,可以像重载常规函数定义那样重载模板定义。和常规重载一样,被重载的模板的函数特征标必须不同。代码如下,新的模板的特征标为(T[] ,T[],int)。注意,在后一个模板中,最后一个参...

2019-07-30 10:15:09 254

原创 《c++沉思录笔记》—类设计的核查表

核查表并不是任务清单。它的用途是帮助你回忆起可能忘记的事情,而不是来约束你。如果只是盲目地按照核查表的要求按部就班地做,到头来可能还是会忘记一些事情。知道这一点后,请看下面关于定义类时候要弄清楚的一些问题。这些问题没有确切的答案,关键是要提醒你思考它们,并确认你所作的事情是出于有意识的决定,而不是偶然事件。核查表需要核查的内容:类需要构造函数吗? 数据成员是私有的吗?例如在...

2019-07-26 12:41:16 175

原创 C++Primer_学习笔记(七)

2019年4月24日4.14.3 显示转换 显示转换也被称为强制类型转换(cast),报货一下命名的强制类型转换操作符:static_cast、dynamic_cast、const_cast和reinterpret_cast。虽然有时候确实需要强制类型转换,但是它们也是程序错误的的源泉。通过使用它们,程序员关闭了C++语言的类型检查设施。在了解怎样把一个值从一中类型强制类型转换...

2019-04-24 15:19:55 218

原创 字符编码的转换(ASCII与Utf8)

//转码//ASCII to Unicodewstring AtoW(const std::string &str){ //unicode的长度 int nwLen = MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, nullptr, 0); //分配内存 wchar_t *pUnicode = (wc...

2019-04-23 16:29:07 1742

原创 C++Primer_学习笔记(六)

2019年4月22日4.10 逗号操作符逗号表达式是一系列由逗号分开的表达式。这些表达式从左向右计算。逗号表达式的结果是最右边表达式。在下面例子中,条件操作符的每边都是逗号表达式。第一个逗号表达式的值是ix,而第二个表达式的值是0。int main(){ //examplies of a comma expression //ia , sz ,and inde...

2019-04-22 11:14:29 173

原创 printf中%d,%c,%s,%x各代表什么

转换说明符 %a(%A) 浮点数、十六进制数字和p-(P-)记数法(C99) %c 字符 %d 有符号十进制整数 %f 浮点数(包括float和doulbe) %e(%E) 浮点数指数输出[e-(E-)记数法] %g(%G) 浮点...

2019-04-22 11:06:26 93815 3

原创 C++Primer_学习笔记(五)

2019年4月17日4.1什么是表达式?表达式由一个或多个操作数构成。特别声明,一般来说表达式的结果是个右值。算术表达式的结果是个右值,算术表达式结果的类型转换由操作数的类型来决定。当存在多种数据类型时,编译器将根据一套预定义的类型转换规则集进行类型转换。当两个或两个以上的操作符被组合起来的时候,这样的表达式被称为复合表达式(compound expression)。在实际情况下,...

2019-04-17 16:57:32 245

原创 C++Primer_学习笔记(四)

2019年4月16日3.9.1多维数组我们可以定义多维数组。每一维用一个方括号对来指定,例如:int ia[4][3];关于多维数组的初始化。为了索引到一个多维数组中,每一维都需要一个方括号对,不然意义就会发生变化。在C++中,多维数组的索引访问要求对程序员希望访问的每个索引都有一对方括号。3.9.2 数组与指针类型的关系数组标识符代表数组中的第一个元素的地址,它的类型是数...

2019-04-16 11:06:10 166

原创 基于C++/qml的聊天小软件(含源码)

Server源码main.qmlimport QtQuick 2.4import QtQuick.Window 2.0import QtQuick.Layouts 1.1import QtQuick.Controls 1.4import QtQuick.Controls.Styles 1.4import Server_support 1.0Window{ ...

2019-04-16 09:37:55 1071 3

原创 C++Primer_学习笔记(三)

3.4字符串类型3.4.1C风格字符串C++提供两种方式的字符串:C风格的字符串和标准C++引入的string类类型。字符串存储在一个字符数组中,一般通过一个char*类型的指针来操纵它。标准C库为操纵C风格的字符串提供了一组函数。注意在计算字符串长度时候,空字符也要考虑在其中。一般为了更好的操控字符串,较好的解决方案是定义两个指针,一个始终指向头,另一个每次向后加一。3.4...

2019-04-03 16:38:19 183

原创 C++Primer_学习笔记(二)

2.4面向对象的程序设计面向对象的程序设计方法正是为我们提供了这样一种能力。基类(base class)可由继承(inheritance)提供。当一个IntArrayRC类(也就是一个带有范围检查的IntArray类)继承了IntArray类时,称其为派生类(derived class),他就可以访问IntArray的数据成员和成员函数,而不需要同时维护两份代码拷贝。新的类只需要提供实现其语意...

2019-03-25 14:16:18 193

原创 C++Primer_学习笔记(一)

C++Primer学习笔记2019年3月21日第一篇 C++概述1.语言的基本元素:内置数据、变量、表达式、语句及函数。2.程序有两方面组成:(1)算法的集合。(2)数据的集合。3.C++是一种支持多种程序设计方法的语言,主要把它当做面向对象的语言,但是它也能够支持面向过程和基于对象的程序设计方法的支持。1开始 1.1问题的解决 解决问题的策略:分...

2019-03-21 15:06:08 208

原创 近期公司笔试题(4)

一个字符串和一个正整数k,你需要对从字符串开头算起的每3k个字符的前K个字符进行反转。如果剩余少于k个字符,则将所剩余的所有字符串全部反转。如果小于3k但是大于或等于k个字符,则反转前k个字符,并将所剩余的字符保持原样。输入描述:输入需要反转的字符串s与正整数k(k&gt;0)输出描述:输出经过反转后的字符串 实例1  输入      welcometokeep 2...

2018-09-05 19:46:11 358

原创 近期公司笔试编程题(3)

一条26个字母组成的消息,经过加密变成了数字流,加密方式如下:‘A’-&gt;1 ‘B’-&gt;2 …… ‘Z’-&gt;26现在给一个加密的消息,判断多少种解密方式。示例:input:12output:2 intput:1212output:5int decode(char *src){ assert(src != NULL); int n = st...

2018-09-05 19:28:35 199

原创 近期公司笔试编程题(2)

给定一个字符串,每次从头部或者尾部取较小子串的首字母,字符串ABCD从头部看,子串为ABCD,从尾部看,子串为DCBA.例如给定字符串:ABCBCB ,输出为:ABCBCD过程为:    ACDCB=&gt;(CDBCB,A)=&gt;(CDBC,AB)=&gt;(CDB,ABC)=&gt;(CD,ABCB)=&gt;(D,ABCBC)=&gt;ABCBCD 代码为:#in...

2018-09-04 19:46:27 186

原创 如何解决WiFi经常性断开

方法1.参考这篇经验在cmd命令行使用这个命令关掉wifi承载netsh wlan stop hostednetwork方法2:卸载wifi共享大师之类的软件 

2018-08-26 16:23:29 4789 2

原创 注释转换:从C++注释(//) 转换到C注释(/**/)

注释转换 C++风格的注释//注释转换为标准C分风格/* */注释  /*  */风格的注释保持原样 所有的转换需要符合语法规则 注释转换需要支持注释嵌套一.注释的嵌套情形很多,这里只是举例,你需要遵照C/C++语言的注释规则来编写代码,我不会仅测试这里的例子。1、单行注释或没有嵌套,注释行直接转换,如:     ①//123                          ...

2018-08-26 16:16:35 475

转载 Miniftp项目实战剖析(含源代码链接)

ftp关键技术一:账户验证对于Linux端的ftp服务的而言,账户即为Linux端的用户。一般步骤是:以root用户权限启动ftp服务 获取客户端的验证信息 从系统获取用户名对应的加密后的密码 对客户端发过来的密码进行对应的加密,并对比如何验证是否以root用户启动服务?我们可以通过getuid()函数获取当前程序运行的uid。一般root用户的uid =0。所以可...

2018-08-22 17:46:21 1656 18

原创 C ++实现二叉树及笔试题(3)

二叉树被记录成文件的过程叫做二叉树的序列化,通过文件内容重建原来二叉树的过程叫做二叉树的反序列化,给定一颗二叉树的头节点head,并已知二叉树节点值的类型为32位整型,请设计一种二叉树序列化   和反序列化的方案,并用代码实现#ifndef _BINARYTREE_H#define _BINARYTREE_H#include&lt;iostream&gt;#include&lt;q...

2018-08-10 20:18:56 527

原创 C ++实现二叉树及笔试题(2)

1.求二叉树中最远的两个节点的距离;即求宽度2.由前序遍历和中序遍历重建二叉树3.将二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向;4.判断一颗二叉树是否是另一颗树的子树。BinaryTree.h 实现//#pragma once#ifndef _BINARYTREE_H#define _BINARYTREE_H#inclu...

2018-08-10 16:21:21 481

原创 B+ 数

B +树可以看作是乙树的一种变形,在实现文件索引结构方面比乙树使用得更普遍。1.B +树的定义:一颗米阶B +树是乙树的特殊情形,它与乙树的不同之处在于:(1)所有关键码都存放在叶子结点中,上层的非叶子结点的关键码是其中树中最小(或最大)关键码的重写。(2)叶结点包含了全部关键码即指向相应数据存放地址的指针,且叶结点本身按关键码从小到大顺序链接。关于每个非叶结点的结构有两种处理方式...

2018-08-10 15:09:18 1023

原创 c++实现二叉树及笔试题(1)

1.创建二叉树2.前序遍历&lt;递归与非递归&gt; 3.中序遍历&lt;递归与非递归&gt; 4.后序遍历&lt;递归与非递归&gt; 5.层次遍历 6.获得节点叶子的个数7.二叉树获得的高度8.二叉树交换的左右儿子9.求两个节点pNode1和pNode2在以[R为树根的树中的最近公共祖先10.判断一个节点t是否在以r为根的子树中11.求两个节点的最近公共祖先; 12.求二叉树中最远的两个...

2018-08-09 19:19:15 758

原创 c实现图片闪烁

使用的库是graphics.h,可以在网上下载EasyX Library for C++ (Ver:20151015(beta)) http://www.easyx.cn基于 EasyX.h,实现在 VC/VS 下实现简单绘图。同时,为了兼容 Turbo C/C++ 和 Borland C/C++ 等一系列开发环境中的 BGI 绘图库函数,做了相应扩展。#include&lt;g...

2018-08-08 17:00:37 581 2

原创 c中链表实现雷霆战机(简易版)

#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;graphics.h&gt;#include &lt;time.h&gt;#include &lt;conio.h&gt;#pragma comment(lib,"winmm.lib")#pragma warning (disable :4996)//子弹 ...

2018-08-08 11:19:27 1585 1

原创 c/c++笔试中编程题总结

1.请实现字符串右循环移位函数,比如:“abcdefghi”循环右移2位就是“hiabcdefg”.函数原型:void RightLoopMove(char *pStr, unsigned short steps)函数参数说明: pStr: Point to a ‘\0’ terminated string  steps: The rotate shift numbers*/解法一:常规解...

2018-08-02 20:45:52 3123 5

原创 排序方法总结

一.直接插入排序思想:把数组0下表作为哨兵位,之后的没考虑一位放入哨兵位的值与之前的值进行比较,大于则不进行操作;小于的话,依次向后移动(采用直接赋值的方法),直到找到插入的位置,替换值即可。时间复杂度为O(n^2),属于简单排序。方法一:#include&lt;iostream&gt;using namespace std;/*直接插入排序*/void InsertSo...

2018-07-25 08:43:09 160

原创 程控知识点

一.分组交换优缺点优点:1.线路利用率高,采用动态统计时分复用2.异终端通信。采用存储-转发方式3.数据传输质量好,可靠性高。流量、差控、路由选择4.负荷控制,可是实现流量控制。5.经济性好。通信费用与距离无关。缺点:1.信息传送时延大。存储、排队、转发,时延在数百ms。2.附加的分组头增加了开销。3.协议和控制比较复杂,分组吞吐能力和中级线的速率收到了限制。电路交换与分组交换的比较(;前...

2018-07-24 18:28:29 1870

原创 STL源码剖析之stl_deque的实现(二)

STL中deque(双端队列)是一种非常重要的结构,stack,与queue底层都是借助deque.deque(双端队列)是一种双向开口的连续性空间,双向开口意思是可以在头尾两端做元素的插入和删除操作。deque和vector最大的差异在于deque允许常数时间内对起头端进行元素的插入或移除操作,二者在于deque没所谓的容量(capacity)观念,因为它是动态地以分段连续空间组合而成,随时...

2018-07-24 18:26:21 199

原创 STL源码剖析之stl_heap(三)

Head并不是STL中的容器组件,它是优先级队列(priority queue)的底层实现,优先级队列允许用户以任何次序将任何元素推入容器内,但是取出时一定是从优先权最高的元素开始取,最大二叉堆正是具有这样的特性,适合作为priority queue的底层机制。堆堆分为大堆小堆小堆指的是每个父节点的值都比子节点小,相反为大堆;故可以实现堆结构,但是要在插入时候实现自动调整。调整函数:S...

2018-07-24 18:00:57 232

原创 STL源码剖析之stl_alloc(一)

STL主要研究的六大问题:空间配置器,迭代器,容器,仿函数,算法,容器适配器一级空间配置器源码如下:#if 0#include&lt;new&gt;#define __THROW_BAD_ALLOC throw bad_alloc#else#include&lt;iostream.h&gt;#include&lt;malloc.h&gt;#include&lt;stdlib....

2018-07-21 16:57:00 1088

原创 I/O复用的高级应用:非阻塞connect

源码如下:/********************* Creation Date:2018-05-13 10:38*******************/#include&lt;sys/types.h&gt;#include&lt;sys/socket.h&gt;#include&lt;netinet/in.h&gt;#include&lt;arpa/inet.h&gt;#inclu...

2018-05-16 12:47:50 128

fcm算法.rar

基于模糊均值聚类的图形分割算法-FCM的算法实现代码。

2019-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除